Chrome扩展程序:发送到标签页的消息可以通过任何Chrome扩展程序进行监听

时间:2015-01-28 13:20:29

标签: google-chrome-extension sandbox

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);
    }
});

可以通过任何扩展名的内容脚本收到吗?

1 个答案:

答案 0 :(得分:1)

没有。它将在您自己的扩展ID的上下文中广播到该选项卡中的所有帧。我的意思是每个框架都有自己的&#34;页面&#34;与之相关的上下文,以及在其中注入脚本的每个扩展的一个上下文,它们彼此隔离。

因此只有你的上下文脚本会收到它。实际上,直接发送其他扩展程序的内容脚本是不可能的。

类似于在没有ID的情况下拨打runtime.sendMessage:然后假设您需要自己的分机,并且不会将其发送到任何其他分机。