Chrome扩展程序:将消息从后台脚本发送到* all *标签

时间:2013-04-16 20:35:56

标签: google-chrome-extension

有没有办法让后台脚本通知所有当前打开的标签(即他们的内容脚本)发生了一个事件。

基本上如下

chrome.tabs.sendMessage("*", {foo: "bar"})

我怀疑我可以在后台脚本上维护一个打开的标签列表,如果可能的话,并使用它。但有更简单的方法吗?

1 个答案:

答案 0 :(得分:51)

不支持通配符。触及所有标签的唯一方法是query所有现有标签,并使用chrome.tabs.sendMessage发送消息。

chrome.tabs.query({}, function(tabs) {
    var message = {foo: bar};
    for (var i=0; i<tabs.length; ++i) {
        chrome.tabs.sendMessage(tabs[i].id, message);
    }
});