2016-12-07 192 views
1

我正在尝试为Chrome创建右键单击上下文菜单。 我希望能够突出显示文本,点击右键,然后点击打开一个新的标签页,使用突出显示的文本确定的URL。Chrome右键单击上下文菜单

我有一个明显的(虽然我不知道我已经做了背景部分右):

{ 
    "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

这似乎对我很有用。 [Chrome扩展中的上下文菜单](http://stackoverflow.com/questions/13783500/context-menus-in-chrome-extensions) –

回答

1

创建活动页面(bacause在你的清单,你定义"persistent": false)。

在活动页面当你创建上下文菜单项,你做的三个转变。

  1. 传递一个字符串ID参数。
  2. 使用chrome.contextMenus.onClicked回调,而不是一个onclick参数。
  3. chrome.runtime.onInstalled事件中创建它们。

欲了解更多信息 - Event pages best practices

(顺便说一句 - 在活动页面不变量保存数据)。

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

相关问题