tabs.onDetached

當標籤頁從視窗分離時觸發,例如,因為它正在被移動到其他視窗。

語法

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

事件有三個函式

addListener(listener)

向此事件新增監聽器。

removeListener(listener)

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

hasListener(listener)

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

addListener 語法

引數

監聽器

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

tabId

integer。已分離的標籤頁的 ID。

detachInfo

object。前一個視窗的 ID,以及標籤頁在該視窗中的索引。有關更多詳細資訊,請參閱 detachInfo 部分。

額外物件

detachInfo

oldWindowId

integer。前一個視窗的 ID。

oldPosition

integer。標籤頁在前一個視窗中的索引位置。

示例

監聽分離事件,並記錄資訊

js
function handleDetached(tabId, detachInfo) {
  console.log(`Tab: ${tabId} moved`);
  console.log(`Old window: ${detachInfo.oldWindowId}`);
  console.log(`Old index: ${detachInfo.oldPosition}`);
}

browser.tabs.onDetached.addListener(handleDetached);

瀏覽器相容性

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