私はGoogle Chromeの拡張機能を書いています。コンテンツスクリプトは、sendNextProfile要求がバックグラウンドページから送信されたことを決して確認しません。少なくとも、次のプロファイルのためにRECEIVED REQUESTメッセージはコンソールログに表示されず、バックグラウンドでは新しい要求は見られません。 HERE グーグルクロムエクステンションの文脈への背景メッセージ
は期待どおりに表示されるように、コンソールメッセージは、表示される背景側で背景ページ//detect when message tab is closed and request new profile
//var closedTabId=null;
chrome.tabs.onRemoved.addListener(function(tabid, removeInfo) {
console.log("TAB CLOSED "+tabid);
if (tabid==msgTabId) {
chrome.extension.sendRequest({cmd: "sendNextProfile"});
console.log("REQUESTED NEW PROFILE");
}
});
FROM CODEコンテンツスクリプトHERE
//send request for first profile
var currentProfile=0;
chrome.extension.sendRequest({cmd: "openProfile", url: profileLinks[currentProfile]});
//listen for request to send next profile
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
if(request.cmd == "sendNextProfile") {
console.log("RECEIVED REQUEST FOR NEXT PROFILE");
++currentProfile;
chrome.extension.sendRequest({cmd: "openProfile", url: profileLinks[currentProfile]});
}
});
FROM CODE IS ISリクエストが送信されます。では、このコードはどうなっていますか?
'バックグラウンド側では、コンソールメッセージが期待通りに表示されます。 ' 正確に表示されるメッセージは何ですか? TABが新しいプロフィールを閉鎖したか、または両方をリクエストしましたか? – Achshar