我正在尝试为Chrome创建一个右键单击上下文菜单。
我希望能够突出显示文本,右键单击,然后单击以使用由突出显示的文本确定的URL打开一个新选项卡。
我有一个清单(尽管我不确定我是否正确完成了背景部分):
{
"manifest_version": 2,
"name": "ClickMenu",
"version": "1.0",
"description": "A right-click context menu",
"icons": {
"16": "icons/icon-16.png",
"48": "icons/icon-48.png",
"128": "icons/icon-128.png"
},
"permissions": [ "contextMenus" ],
"background": {
"scripts": ["contextMenu.js"],
"persistent": false
}
}
还有一个contextMenu.js:
function MenuContext(contextInfo, tab) {
chrome.tabs.create({
'url' : 'https://myurl.com/' + contextInfo.selectionText + '/launch'
});
}
var contextId = chrome.contextMenus.create({
'title' : 'Launch this',
'contexts' : [
'selection'
],
'onclick' : MenuContext
});
没用我可以加载扩展程序,但是没有上下文菜单或功能。
可以看到我做错了吗?
最佳答案
您创建一个事件页面(在清单中定义"persistent": false
的原因)。
在事件页面中,创建上下文菜单项时要进行三个更改。
传递一个字符串id参数。
使用chrome.contextMenus.onClicked
回调而不是onclick参数。
在chrome.runtime.onInstalled
事件中创建它们。
有关更多信息-Event pages best practices。
(顺便说一下-在事件页面中不要将数据保存在变量中)。
(我很抱歉我的英语...)
关于javascript - 右键单击Chrome的上下文菜单,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41024969/