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

Google chrome 将消息从扩展发送到选项卡,google-chrome,google-chrome-extension,google-chrome-app,Google Chrome,Google Chrome Extension,Google Chrome App,我面临一个问题,从Chrome扩展名(popup.html)发送消息到注入到所选选项卡中的脚本。popup.html中的代码如下所示: 警报(“发送消息”); chrome.tabs.sendMessage(null,{问候语:“你好”},函数(响应){ console.log(response.bye); }); 警报(“消息发送”); 问题是只有“发送消息”警报出现,但第二个警报“发送消息”没有显示。就好像它在封锁密码 即使我使用此功能: chrome.tabs.getSelected(n

我面临一个问题,从Chrome扩展名(popup.html)发送消息到注入到所选选项卡中的脚本。popup.html中的代码如下所示:

警报(“发送消息”);
chrome.tabs.sendMessage(null,{问候语:“你好”},函数(响应){
console.log(response.bye);
});
警报(“消息发送”);
问题是只有“发送消息”警报出现,但第二个警报“发送消息”没有显示。就好像它在封锁密码

即使我使用此功能:

chrome.tabs.getSelected(null,函数(tab){
sendMessage(tab.id,{问候语:“你好”},函数(响应){
console.log(response.bye);警报(“消息已发送”);
});
});
警报(“发送消息”);
这里我遇到了同样的问题:“MSG send\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。
如果有人对此问题有任何想法,请告诉我。

如果您查看弹出窗口检查器,您可以看到您的弹出窗口将出现运行时错误,因此最后的
警报
不起作用

解决办法很简单, 您应该使用
chrome.extension.sendMessage
而不是
chrome.tabs.sendMessage

alert("sending MSG");
chrome.extension.sendMessage(null, {greeting: "hello"}, function(response) {
    console.log(response.farewell); 
});
alert("MSG send");