WebExtensions 対応の拡張を書いています。
特定のウインドウ上 ( popup/main.html ) でのみコンテキストメニューの項目を表示したいため以下のようなコードを background script に書いたところ、コンテキストメニューが表示されません。Google Chrome では問題なく表示されています。どのようにすれば該当ウインドウ上 ( popup/main.html ) でのみコンテキストメニューを表示できるでしょうか
なお、コンソールに次の気になるエラーメッセージが出ています ( Google Chrome ではでません ) 。
コード:
Invalid match pattern: 'moz-extension://08fa658a-09e0-4911-b8e7-63815bf9f8c3/popup/main.html' MatchPattern.jsm:52
コード:
browser.windows.getCurrent({populate: true},function(win){
windowId=win.id;
createContextMenu();
});
function createContextMenu(){
var parentId= browser.contextMenus.create({
"title":"Hütte Nippon 2",
"type":"normal",
"contexts":["all"],
"documentUrlPatterns":[browser.extension.getURL("popup/main.html")]
});
[略]
});
なお
コード:
function createContextMenu(){
var parentId= browser.contextMenus.create({
"title":"Hütte Nippon 2",
"type":"normal",
"contexts":["all"]
});
とすれば常時コンテキストメニューが表示されますので困ります。
OS は Ubuntu MATE 16.04
ブラウザは Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0
ビルド ID は Build ID 20170102004004