将消息从扩展名发送到选项卡

时间:2012-12-01 21:26:14

标签: google-chrome google-chrome-extension google-chrome-app

我在将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”不是。 如果有人对此问题有任何疑问,请告诉我。

1 个答案:

答案 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");