browserAction.onClicked

在浏览器操作图标被点击时触发的事件。如果浏览器操作有弹出窗口,该事件将不会触发。

要定义右键单击操作,请使用 contextMenus API 和“browser_action”上下文类型

语法

js
browser.browserAction.onClicked.addListener(listener)
browser.browserAction.onClicked.removeListener(listener)
browser.browserAction.onClicked.hasListener(listener)

事件有三个函数:

addListener(listener)

为此事件添加一个监听器。

removeListener(listener)

停止监听此事件。listener 参数是要移除的监听器。

hasListener(listener)

检查此事件是否注册了该 listener。如果在监听,则返回 true,否则返回 false

addListener 语法

参数

listener

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

tab

tabs.Tab。图标被点击时活动的标签页。

OnClickData

一个包含点击信息的对象。

modifiers

一个 array。点击时活动的键盘修饰符,可以是 ShiftAltCommandCtrlMacCtrl 中的一个或多个。

button

一个 integer。表示用于点击页面操作图标的按钮:0 表示左键点击或与鼠标无关的点击(例如来自键盘的点击),1 表示中键或滚轮点击。注意,不支持右键点击,因为 Firefox 会在触发此事件前显示上下文菜单。

浏览器兼容性

BCD tables only load in the browser

示例

当用户点击浏览器操作图标时,为当前的活动标签页禁用浏览器操作,并记录标签页的 URL:

js
browser.browserAction.onClicked.addListener((tab) => {
  // 禁用此标签页的浏览器操作
  browser.browserAction.disable(tab.id);
  // 需要“tabs”或“activeTab”权限,或 URL 的主机权限
  console.log(tab.url);
});

示例扩展