action.onClicked

当浏览器操作图标被点击时触发。如果浏览器操作有一个弹出窗口,此事件将不会触发。

注意: 此 API 在清单 V3 或更高版本中可用。

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

语法

js
browser.action.onClicked.addListener(listener)
browser.action.onClicked.removeListener(listener)
browser.action.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 会使用该点击显示上下文菜单,然后再触发此事件。

示例

当用户点击图标时,禁用活动选项卡的图标,并记录选项卡的 URL

js
browser.action.onClicked.addListener((tab) => {
  // disable the active tab
  browser.action.disable(tab.id);
  // requires the "tabs" or "activeTab" permission, or host permissions for the URL
  console.log(tab.url);
});

浏览器兼容性

BCD 表格仅在浏览器中加载

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