2017-02-09 5 views
1

とよく似ていますが、これは定期的に質問されると思いましたが、回答が見つかりません。 クロム拡張機能で、ページに一致するcontent_scriptsでのみブラウザアクションポップアップを利用できるようにする方法はありますか?"content_script"でのみ有効にするブラウザの操作は

例:サイトの拡張機能を作成します。私はポップアップを(現在のタブ上の)サイトを閲覧するときにのみ利用可能にしたい。私はどのように行いますか?

私の場合、ブラウザの操作は、デフォルトで有効になっています。閲覧中のページとページアクションは有効になっていません。あなたの助けのための

おかげ

編集:ここではマニフェストの一部であるが、私は成功を収めてpageActionで変更しました。私は自分のアイコンがLDLCをブラウズしているタブでのみ有効にしたい。

{ 
    "content_scripts": [ 
    { 
     "js": [ "jquery.min.js", "scrooge.js" ], 
     "matches": [ "*://www.ldlc.com/fiche/*", "*://ldlc.com/fiche/*" ] 
     }], 

    "manifest_version": 2, 

    "permissions": [ "storage", "activeTab","*://ldlc.com/*", "*://scroogealpha.esy.es/*" ], 

    "page_action": { 
      "default_title": "Worth buying?",  // optional; shown in tooltip 
      "default_popup": "popup.html"  // optional 
    }, 

    "web_accessible_resources": [ 
    ], 
    "background":{ 
    "scripts" : ["eventPage.js"], 
    "persistent": false 
    } 
} 
+0

[declarativeContent API](https://developer.chrome.com/extensions/declarativeContent)を参照してください。 – wOxxOm

答えて

0

ページアクションを使用し、バックグラウンドスクリプトでタブの変更をリッスンします。タブのURLが変更されたら、ページアクションを表示するかどうかを確認します。

let matches = ["://www.ldlc.com/fiche/", "://ldlc.com/fiche/" ] 
chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab) => { 
    for (let i in matches) { 
     if (tab.url.includes(matches[i])) { 
      chrome.pageAction.show(tabId) 
      break 
     } 
    } 
}) 

また、マニフェストのタブの権限を追加しますあなたのバックグラウンドスクリプトで

はこのような何かを行います。

+0

バックグラウンドスクリプトではなくイベントスクリプトページを使用しましたが、この使用にはもっと意味があるようです – yhu420

関連する問題