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