2016-03-31 27 views
0

長時間にわたって完全に機能していたChrome拡張機能はかなり複雑ですが、UbuntuがChromiumブラウザを48.0.xxxからバージョン49.0.2623.87に自動的に更新すると、Ubuntu 14.04(64ビット)私の拡張スクリプトが再起動後に動作しなくなったようです。 background.jsChrome拡張機能onMessageリスナーが起動しない

chrome.tabs.sendMessage(id, {text: "abc"}); 

contentscript.jsで:

chrome.runtime.onMessage.addListener(
    function(request, sender, sendResponse) { 
     console.log("Processing message...."); 
     // ... rest of code 
    }); 

これは動作するために使用されるが、今で動作していません。私はコンソールに "Processing message ...."と表示されていません。

また、私はいくつかの追加の奇妙な振る舞いを得たが、それは問題に関連していない可能性があります:まず

、私のコンテンツスクリプトは、manifest.jsonのアイコン不満、ロードに失敗しました。私はアイコンのサイズ( "16")を指定し、スクリプトを読み込むことができます。しかし、それは不具合なく動作するためにマニフェストが使用されたので奇妙です。

答えて

0

私は失敗の理由を発見しました。新しいChromeは、たとえば、manifest.jsonに許可で "タブ" を置くことが必要です。

"permissions": [ 
    "tabs", 
    "http://localhost/", 
    "clipboardRead", 
    "clipboardWrite", 
    "contextMenus" 
], 

これは仕事に

chrome.tabs.query({url: "http://example.com/"} ,...); 

することができます。私のスクリプトでは、許可の欠如によりこれがゴミを返すようになり、メッセージが正しく送信されませんでした。

更新中にChromeの動作が変更されました。その前に、「タブ」権限要件は厳密には強制されていませんでした。

関連する問題