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

参数

监听器

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

tab

tabs.Tab。单击图标时处于活动状态的标签页。

OnClickData

包含有关单击事件信息的对象。

modifiers

一个数组。单击时处于激活状态的键盘修饰键,可以是一个或多个:ShiftAltCommandCtrlMacCtrl

button

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

示例

当用户单击浏览器操作图标时,此代码会将其对活动标签页关闭,并记录该标签页的 URL

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

扩展程序示例

浏览器兼容性

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