tabGroups.onMoved
当标签页组在一个窗口内移动或移动到另一个窗口时触发。属于该组内的标签页也会触发 tabs.onMoved 事件。
该事件会传递一个 tabGroups.TabGroup 对象。该对象包含 windowId,但不包含标签页组的位置。要确定标签页组的位置,请使用带有 groupId 的 tabs.query(),并读取返回标签页的 index 属性。
在 Chrome 中,当标签页组在窗口之间移动时,此事件不会触发;取而代之的是,该组会从一个窗口中移除,然后在另一个窗口中创建(触发 tabGroups.onRemoved 和 tabGroups.onCreated)。
语法
js
browser.tabGroups.onMoved.addListener(listener)
browser.tabGroups.onMoved.removeListener(listener)
browser.tabGroups.onMoved.hasListener(listener)
事件有三个函数
addListener(listener)-
向此事件添加监听器。
removeListener(listener)-
停止监听此事件。
listener参数是要移除的侦听器。 hasListener(listener)-
检查
listener是否已为此事件注册。如果正在监听,则返回true,否则返回false。
addListener 语法
参数
监听器-
当此事件发生时调用的函数。该函数将传递此参数
group-
tabGroups.TabGroup。被移动的标签页组状态的详细信息。
示例
监听并记录标签页组的移动
js
function tabGroupMoved(group) {
console.log(
`Tab group with ID ${group.id} was moved to window ${group.windowId}.`,
);
}
browser.tabGroups.onMoved.addListener(tabGroupMoved);
定位一个被移动到另一个窗口的标签页组。
js
browser.tabGroups.onMoved.addListener(group => {
let tabs = await browser.tabs.query({
groupId: group.id,
});
console.log(`Moved tab group to ${tabs[0].index} in window ${group.windowId}`);
});
浏览器兼容性
加载中…