ポップアップ ページから実行されているスクリプトから、タブ ページから実行されているスクリプトにノード ID を送信しようとしています。うまくいくこともあれば、うまくいかないこともあります。なぜそれができるのか、できないのかを説明する韻や理由は見つかりませんでした。
メッセージを送信するポップアップコードは次のとおりです。
$(".node-list-item").click( function()
{
nodeid = $(this).attr("nid");
chrome.tabs.create({ url: "tab.html"}, function(tab)
{
console.log("Sending nid: " + nodeid);
chrome.tabs.sendMessage(tab.id, { nid: nodeid});
});
});
それを受け取るコードは次のとおりです。
chrome.extension.onMessage.addListener(function(message, sender, response)
{
console.log(message);
add_notice("Received node: " + message.nid);
show_node(message.nid);
});
これが時々機能するのに、常に機能しないのはなぜですか? 送信関数が常に値を送信するか、少なくとも console.log 関数が実行されていることは知っています。