2016-08-19 9 views
0

私は、外観を変えるためにスクリプトをフェイスブックに注入するクロムエクステンションを開発しています。スクリプトはホームページでのみ実行されます。問題は、ホームページからFacebookの別のページに移動するとスクリプトが実行され続けることです。また、私がFacebookの他のページからホームページに行くと、スクリプトは実行されません。何が起こっているのか分かりません。私はそれが私のマニフェストと関係があるかもしれないと思う.json、しかし私は知らない。どんな助けも素晴らしいだろう。注入されたスクリプトは次のページに続く

私のmanifest.jsonをあなたのための現代的なサイトです

{ 
    "manifest_version": 2, 

    "name": "Getting started example", 
    "description": "This extension shows a Google Image search result for the current page", 
    "version": "1.0", 

    "browser_action": { 
    "default_icon": "icon.png", 
    "default_popup": "popup/popup.html", 
    "default_title": "Bamboozle" 
    }, 
    "permissions": [ 
    "activeTab", 
    "https://ajax.googleapis.com/" 
    ], 
    "content_scripts": [ 
    { 
     "matches": ["https://www.facebook.com/","https://www.facebook.com/?*"], 
     "js": ["facebook/facebook.js"], 
     "css" : ["facebook/facebook.css"] 
    } 
    ] 
} 
+0

[Facebook用のChrome拡張機能は最新の情報に更新されます](http://stackoverflow.com/questions/28840467/chrome-extension-for-facebook-loads-just-on-refresh) –

答えて

0

です。動的にその部分を更新し、URL変更を偽装します。

どちらか(それはウェブストアは、あなたの拡張機能のインストール上のすべてのサイトにアクセスする権限を求めるようになります)とchrome.tabs.onUpdatedリスナーのアドレスの変更を追跡していると一緒に暮らすか"tabs"権限を追加し、提供chrome.browserAction.setIconでツールバーのアイコンを変更それは、あなたの拡張パッケージから通常のアイコンまたはグレーアウトされたアイコンです。

もう1つの解決策は、declarativeContent APIです。必要なページにのみ存在する要素のCSSセレクタを与え、ドキュメントに示すように、アクションにはchrome.declarativeContent.ShowPageAction()を使用します。これは、現在使用しているbrowserActionからpageActionに切り替えると機能します。またはchrome.declarativeContent.SetIcon()を試してください。それはやや乱雑です:pass arguments to chrome.declarativeContent.SetIcon

関連する問題