我在将Chrome扩展程序(popup.html)中的邮件发送到选定标签中注入的脚本时遇到问题。 popup.html中的代码如下:
alert("sending MSG");
chrome.tabs.sendMessage(null, {greeting: "hello"}, function(response) {
console.log(response.farewell);
});
alert("MSG send");
问题是只出现“发送MSG”警报,但第二个警告“MSG已发送”未显示。这就像它阻止了代码。
即使我使用此功能:
chrome.tabs.getSelected(null, function(tab) {
chrome.tabs.sendMessage(tab.id, {greeting: "hello"}, function(response) {
console.log(response.farewell); alert("MSG sent _ in");
});
});
alert("MSG send _ out");
这里我遇到了同样的问题:显示“MSG send _ out”,但“MSG send _ in”不是。 如果有人对此问题有任何疑问,请告诉我。
答案 0 :(得分:0)
如果查看弹出式检查器,可以看到弹出窗口会出现运行时错误,因此最后alert
无效。
解决方案很简单,
您应该使用chrome.extension.sendMessage
代替chrome.tabs.sendMessage
,
alert("sending MSG");
chrome.extension.sendMessage(null, {greeting: "hello"}, function(response) {
console.log(response.farewell);
});
alert("MSG send");