tabs.onMoved

當標籤頁在視窗內移動時觸發。

只會觸發一個移動事件,代表使用者直接移動的那個標籤頁。其他因響應而移動的標籤頁不會觸發移動事件。當標籤頁在視窗之間移動時,不會觸發此事件。有關此情況,請參閱 tabs.onDetached

語法

js
browser.tabs.onMoved.addListener(listener)
browser.tabs.onMoved.removeListener(listener)
browser.tabs.onMoved.hasListener(listener)

事件有三個函式

addListener(listener)

向此事件新增監聽器。

removeListener(listener)

停止監聽此事件。listener 引數是要移除的監聽器。

hasListener(listener)

檢查 listener 是否已為此事件註冊。如果正在監聽,則返回 true,否則返回 false

addListener 語法

引數

監聽器

此事件發生時呼叫的函式。該函式會傳遞以下引數:

tabId

integer。使用者移動的標籤頁 ID。

moveInfo

object。有關移動的資訊。有關更多詳細資訊,請參閱 moveInfo 部分。

額外物件

moveInfo

windowId

integer。此標籤頁所在視窗的 ID。

fromIndex

integer。此標籤頁在視窗中的初始索引。

toIndex

integer。此標籤頁在視窗中的最終索引。

示例

監聽並記錄移動事件

js
function handleMoved(tabId, moveInfo) {
  console.log(
    `Tab ${tabId} moved from ${moveInfo.fromIndex} to ${moveInfo.toIndex}`,
  );
}

browser.tabs.onMoved.addListener(handleMoved);

擴充套件程式示例

瀏覽器相容性

注意: 此 API 基於 Chromium 的 chrome.tabs API。本文件源自 Chromium 程式碼中的 tabs.json