browser.menus.onClicked.addListener 在 Firefox 中不工作

browser.menus.onClicked.addListener not working in Firefox

目前我正在开发我自己的 Firefox 扩展,我遇到了将侦听器添加到上下文菜单项的 onclick 事件的问题。

manifest.json

{
  "manifest_version": 2,
  "name": "My extension name",
  "version": "1.0",
  "description": "My extension description",
  "icons": {
    "48": "icons/icon.png"
  },
  "permissions": ["menus"], 
  "background": {
    "scripts": ["index.js"]
  }
}

index.js

browser.menus.create({
  id: 'my-ext-item',
  title: 'Custom ctx item',
  contexts: ['selection']
});

browser.menus.onClicked.addListener(function(info, tab) {
  console.log("Clicked!");
});

browser.menus.create() 显然工作正常,因为新项目出现在我的上下文菜单中。问题在于捕获点击事件 - 它永远不会触发。

我根据MDN Web Docs写了上面的代码。我在 Firefox 97.0.1 x64.

上测试

我做错了什么,我应该修复什么?

PS。我尝试使用较旧的 browser.contextMenus.createbrowser.contextMenus.onClicked.addListener,但它也不起作用。

我找到了一个解决方案 - browser.menus.onClicked.addListener() 工作正常,只是需要在浏览器设置中启用日志记录。

首先,转到about:config并找到键extensions.logging.enabled并将其切换到true。然后,从 Menu Bar -> Tools -> Browser Tools -> Browser Console 或快捷方式 Ctrl+Shift+J.

显示 浏览器控制台

Be aware that Browser Console is not the same as Firefox Developer Tools (from F12 or Ctrl+Shitft+I)!

最后但并非最不重要的一点是在浏览器控制台

中启用Show Content Messages