0

だから、私は別の拡張機能と通信する必要があるこの1つのChrome拡張機能を作成しています、そして多くの矛盾した情報の後で私は何の結果も得ていません、これが私が今まで使っているコードです:

拡張機能のHTML(options.html)の1つの送信部分

console.log("sending message...");
chrome.extension.sendRequest(receivingExtensionID, {txt: "sometext"}, function (res){
      console.log("response received");
      console.log("res: " + res);
      try{
        console.log("res.txt: " + res.txt);
      }catch(e){
        console.log("ERROR: cannot print res.txt because res is undefined.");
      }
});

console.log("message sent.")

他の拡張機能のbackground.htmlの受信部分

chrome.extension.onRequestExternal.addListener(function(request, sender, sendResponse) {
  sendResponse({txt: "someothertext"});
});

次のエラーが発生します。

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

詳細以外に何を言うべきかわかりません-デバッガーでエラーをクリックすると、次のように表示されます。

chromeHidden.Port.dispatchOnDisconnect

sendMessageとonMessageExternalで同じコードを試しましたが、同じ結果が得られました

助けてください

4

1 に答える 1

0

最初の内線番号(メッセージを送信する)は、2番目の内線番号(メッセージを受信する)のにロードする必要があります。これは明らかです。逆の順序でロードされると、受信者が作成される前に送信者がメッセージを送信します。

于 2012-07-03T21:48:43.643 に答える