我正在尝试为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
});
它不起作用。我可以加载扩展,但没有上下文菜单或功能。
你能看出我做错了吗?
答案 0 :(得分:1)
您创建了一个活动页面(您在清单中定义了"persistent": false
)。
在事件页面中,您可以在创建上下文菜单项时进行三项更改。
chrome.contextMenus.onClicked
回调代替onclick参数。chrome.runtime.onInstalled
事件中创建它们。有关详情,请访问Event pages best practices。
(顺便说一下 - 在事件页面中不会将数据保存在变量中)。
(对不起我的英语......)