バックグラウンド ページから複数のコンテンツ スクリプトとの通信に問題があります。私の背景ページには次のようなコードがあります:
chrome.tabs.sendRequest(tabId, { targetScript:"content1" }, function (resp) {
if (resp.fromCorrectScript) {
DoMoreStuff();
}
});
そして、私は次のようなコンテンツスクリプトを持っています:
// content1.js
chrome.extension.onRequest.addListener(function (sender, request, sendResponse) {
if (request.targetScript === "content1") {
sendResponse({ fromCorrectScript:true });
} else {
sendResponse({});
}
});
と
// content2.js
chrome.extension.onRequest.addListener(function (sender, request, sendResponse) {
if (request.targetScript === "content2") {
sendResponse({ fromCorrectScript:true });
} else {
sendResponse({});
}
});
私の理解では、バックグラウンド ページのコールバックは、各コンテンツ スクリプトから 1 回ずつ、2 回呼び出す必要があります。if
節にブレークポイントがある場合にのみ、2 回しか呼び出されないように見えます。ここで何か間違ったことをしていますか?
ありがとう、
-グレッグ