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
。点击时活动的键盘修饰符,可以是Shift
、Alt
、Command
、Ctrl
或MacCtrl
中的一个或多个。 -
一个
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);
});
示例扩展
- bookmark-it
- favourite-colour
- find-across-tabs
- forget-it
- google-userinfo
- native-messaging
- open-my-page-button
- permissions
- runtime-examples
- store-collected-images
备注:
此 API 基于 Chromium 的 chrome.browserAction
API。该文档衍生自 Chromium 代码中的 browser_action.json
。