action.onClicked
当浏览器操作图标被点击时触发。如果浏览器操作有弹出窗口,则此事件不会触发。
注意:此 API 在 Manifest V3 或更高版本中可用。
要定义右键点击操作,请使用具有“browser_action”上下文类型的contextMenus API。
语法
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 语法
参数
监听器-
此事件发生时调用的函数。该函数会传递以下参数:
tab-
tabs.Tab。点击图标时处于活动状态的标签页。 OnClickData-
包含有关单击事件信息的对象。
modifiers-
一个
数组。单击时处于激活状态的键盘修饰键,可以是一个或多个:Shift、Alt、Command、Ctrl或MacCtrl。 -
一个
整数。指示用于单击页面操作图标的按钮: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);
});
浏览器兼容性
加载中…
注意:此 API 基于 Chromium 的chrome.action API。本文档摘录自 Chromium 代码中的browser_action.json。