如https://developer.chrome.com/extensions/messaging所述, 使用以下代码发送消息时
chrome.runtime.sendMessage(chrome.runtime.id, <message>);
它只能由相同扩展名的背景脚本接收。
-
但是发送到标签的邮件呢? 是否使用以下代码发送消息
chrome.tabs.query({}, function(tabs) {
for (var i=0; i<tabs.length; ++i) {
chrome.tabs.sendMessage(tabs[i].id, message, callback);
}
});
可以通过任何扩展名的内容脚本收到吗?
答案 0 :(得分:1)
没有。它将在您自己的扩展ID的上下文中广播到该选项卡中的所有帧。我的意思是每个框架都有自己的&#34;页面&#34;与之相关的上下文,以及在其中注入脚本的每个扩展的一个上下文,它们彼此隔离。
因此只有你的上下文脚本会收到它。实际上,直接发送其他扩展程序的内容脚本是不可能的。
类似于在没有ID的情况下拨打runtime.sendMessage
:然后假设您需要自己的分机,并且不会将其发送到任何其他分机。