2016-12-07 191 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

(順便說一句 - 在活動頁面不變量保存數據)。

(對不起我的英語......)

相關問題