MozillaZine.jp フォーラム
https://forums.mozillazine.jp/

条件に従ってコンテキストメニューを表示したい
https://forums.mozillazine.jp/viewtopic.php?f=26&t=16451
ページ 11

作成者:  mitsugu [ 2017年1月03日(火) 18:17 ]
記事の件名:  条件に従ってコンテキストメニューを表示したい

 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

作成者:  mitsugu [ 2017年1月04日(水) 08:14 ]
記事の件名:  Re: 条件に従ってコンテキストメニューを表示したい

 Bug 1271354 - Support moz-extension: urls in MatchPattern として登録されてました。Google Chrome と同仕様にするようです。

 https://bugzilla.mozilla.org/show_bug.cgi?id=1271354

ページ 11 All times are UTC + 9 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/