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.create
和 browser.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
目前我正在开发我自己的 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.create
和 browser.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