我正在尝试将节点 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 函数正在运行。