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 语法

参数

listener

当此事件发生时调用的函数。该函数将传递以下参数

tabId

整数。用户移动的标签的 ID。

moveInfo

对象。有关移动的信息。有关详细信息,请参阅 moveInfo 部分。

其他对象

moveInfo

windowId

整数。此标签所在窗口的 ID。

fromIndex

整数。此标签在窗口中的初始索引。

toIndex

整数。此标签在窗口中的最终索引。

示例

监听并记录移动事件

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

browser.tabs.onMoved.addListener(handleMoved);

扩展示例

浏览器兼容性

BCD 表仅在启用了 JavaScript 的浏览器中加载。

注意:此 API 基于 Chromium 的 chrome.tabs API。此文档源自 Chromium 代码中的 tabs.json.