tabGroups.onMoved

當標籤頁組在一個視窗內移動或移動到另一個視窗時觸發。屬於該組內的標籤頁也會觸發 tabs.onMoved 事件。

該事件會傳遞一個 tabGroups.TabGroup 物件。該物件包含 windowId,但不包含標籤頁組的位置。要確定標籤頁組的位置,請使用帶有 groupIdtabs.query(),並讀取返回標籤頁的 index 屬性。

在 Chrome 中,當標籤頁組在視窗之間移動時,此事件不會觸發;取而代之的是,該組會從一個視窗中移除,然後在另一個視窗中建立(觸發 tabGroups.onRemovedtabGroups.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}`);
});

瀏覽器相容性