0

Chrome アプリ内でコンテンツからバックグラウンド スクリプトにメッセージを送信しようとしています。

// background.js
chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
    console.log(message)
    sendResponse("hey man!");
});

// content.js
chrome.runtime.sendMessage("hello world!", function(response) {
    console.log(response);
});

sendMessage(上記のコードで説明したように)コールバックを指定してコンテンツを呼び出すと、次のエラーが発生します。

Port: Could not establish connection. Receiving end does not exist. 

リスナーは起動されませんが、コールバックは (未定義の応答で) 起動されます。sendMessage 引数からコールバックを省略すると (メッセージのみが渡されるため)、リスナーは期待どおりに起動されます。

コールバック関数を動作させるように設定する方法がわかりません。誰?

4

1 に答える 1

0

この 2 つの関数をウィンドウ状態のサンプル Chrome 30.0.1599.22 に追加すると、問題のコードが機能しました。

于 2013-09-09T15:59:46.710 に答える