右键单击Chrome的上下文菜单

时间:2016-12-07 18:42:56

标签: javascript google-chrome google-chrome-extension

我正在尝试为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
    });

它不起作用。我可以加载扩展,但没有上下文菜单或功能。

你能看出我做错了吗?

1 个答案:

答案 0 :(得分:1)

您创建了一个活动页面(您在清单中定义了"persistent": false)。

在事件页面中,您可以在创建上下文菜单项时进行三项更改。

  1. 传递字符串id参数。
  2. 使用chrome.contextMenus.onClicked回调代替onclick参数。
  3. chrome.runtime.onInstalled事件中创建它们。
  4. 有关详情,请访问Event pages best practices

    (顺便说一下 - 在事件页面中不会将数据保存在变量中)。

    (对不起我的英语......)