Google chrome 拡張機能 dev My Code 構造でコンテンツ スクリプトを使用してメッセージを渡す際に問題が発生すると、次のようになります。
popup.html:
var oList;
function getHTML()
{
chrome.tabs.getSelected(null, function(tab) {
chrome.tabs.sendRequest(tab.id, {action:"getHTML"}, function handler(response) {
oList = response.dom;
});
});
alert("oList = "+oList );
}
私のコンテンツのスクリプトは次のようになります。
chrome.extension.onRequest.addListener(
function(request, sender, sendResponse) {
if(request.action == "getHTML"){
sendResponse({dom: document.getElementsByTagName("HTML").length});
}
});
oList = response.dom;
popup.html の" " にブレークポイントを設定してコードをデバッグすると、コンテンツ スクリプトから適切な値が設定されます。しかし、拡張機能を実行している間、alert("oList = "+oList );
popup.html の " " コードは、サーバーに送信される前に最初に実行されているようです。したがって、その値は設定されていません。