Tak*_*ama 3 google-chrome contextmenu google-chrome-extension chrome-extension-manifest-v3
我知道清单 v2 的答案:将上下文菜单项添加到 Chrome 扩展程序的浏览器操作按钮
在将清单从 v2 迁移到 v3 之前,它一直工作正常。
我目前的manifest.json:
{
"manifest_version": 3,
"version": "0.1.1",
"background": {
"service_worker": "background.js"
},
"action": {
"default_popup": "popup.html"
},
"content_scripts": [
{
"all_frames": false,
"matches": ["http://*/*", "https://*/*"],
"js": ["content.js"]
}
],
"permissions": ["contextMenus"],
...
}
Run Code Online (Sandbox Code Playgroud)
现在,这不会向我的扩展程序的浏览器操作按钮添加上下文菜单项:
chrome.contextMenus.create({
id: 'foo',
title: 'first',
contexts: ['browser_action'],
onclick: function () {
alert('first')
}
})
Run Code Online (Sandbox Code Playgroud)
我检查'selection'上下文是否正确地将上下文菜单添加到网页上的选定文本中。从 v2 迁移到 v3 需要做什么吗?
Tak*_*ama 24
我自己找到了解决方案。上下文应该'action'代替'browser_action'. 看起来onclick财产已经被弃用了。所以,它应该是这样的:
chrome.contextMenus.create({
id: 'foo',
title: 'first',
contexts: ['action']
})
function contextClick(info, tab) {
const { menuItemId } = info
if (menuItemId === 'foo') {
// do something
}
}
chrome.contextMenus.onClicked.addListener(contextClick)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6021 次 |
| 最近记录: |