2013-04-16 19 views
16

バックグラウンドスクリプトに通知する方法はありますか?すべて現在開いているタブ(コンテンツスクリプト)にイベントが発生しました。Chrome拡張機能:バックグラウンドスクリプトから*すべてのタブにメッセージを送信

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

基本的には次のような

何かが、私はそれが可能だ場合、バックグラウンドスクリプトで開いているタブのリストを維持し、それを使用することができます疑い。しかし、より簡単な方法はありますか?

答えて

38

ワイルドカードはサポートされていません。すべてのタブに到達する唯一の方法は、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); 
    } 
}); 
+0

ああ、それは簡単でした、ありがとう! (私がこれを受け入れる前に、強制的な最小時間が経過するのを待つ)。 –

関連する問題