Расширение Chrome: отправить сообщение из фонового скрипта на *все* вкладки

Есть ли способ, чтобы фоновый скрипт информировал все открытые в данный момент вкладки (т. е. их скрипты контента) о том, что произошло событие.

Что-то вроде следующего в основном

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

Я подозреваю, что мог бы вести список открытых вкладок в фоновом сценарии, если это возможно, и использовать его. Но есть ли способ проще?


person Himanshu P    schedule 16.04.2013    source источник


Ответы (1)


Подстановочный знак не поддерживается. Единственный способ получить доступ ко всем вкладкам — запросить все существующие вкладки и отправить сообщение с помощью 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);
    }
});
person Rob W    schedule 16.04.2013