menus.onClicked

点击菜单项时触发。

为了兼容其他浏览器,Firefox 通过 contextMenus 命名空间以及 menus 命名空间都提供了此事件。

语法

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

事件有三个函数

addListener(listener)

向此事件添加监听器。

removeListener(listener)

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

hasListener(listener)

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

addListener 语法

参数

监听器

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

info

menus.OnClickData。有关被点击的菜单项以及点击发生上下文的信息。

tab

tabs.Tab。发生点击的标签页的详细信息。如果点击未发生在标签页内或标签页上,此参数将缺失。

示例

此示例侦听菜单项的点击事件,然后记录菜单项的 ID 和标签页的 ID。

js
browser.menus.create({
  id: "click-me",
  title: "Click me!",
  contexts: ["all"],
});

browser.menus.onClicked.addListener((info, tab) => {
  console.log(`Item ${info.menuItemId} clicked in tab ${tab.id}`);
});

扩展程序示例

浏览器兼容性

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