Имеется расширение у которого background.js занимается хранением настроек и обработкой подготовленных скриптом content.js данных. Все работает и вроде общается между собой, но при написании скрипта изменения настроек расширения возникли проблемы.
Как правильно сообщить всем вкладкам, на которых функционирует content.js, что настройки поменялись и что их необходимо перечитать?
Сообщения от background.js не доходят до вкладок.
Пробовал отправлять всем вкладкам информацию, чтобы они перечитали настройки.
chrome.tabs.query({active: false, currentWindow: false}, function(tabs) {
chrome.tabs.sendMessage(tabs[0].id, {command: "extEvSettingsUpdate"});
});
Понимаю, что ответ может быть на поверхности, но я его пока не вижу.
Особо смекалистых просьба не кидать ссылку на
https://developer.chrome.com/extensions.
P.S. Все заработало. Ошибка в том, что использовал параметры {active: false, currentWindow: false} при выборе вкладок. При пустом значении выбираются все вкладки.
Спасибо за подсказку
рабочее решение: background.js
chrome.tabs.query({}, function(tabs) {
for (var i = 0; i < tabs.length; i++) {
chrome.tabs.sendMessage(tabs[i].id, {
command : "extEvSettingsUpdate"
});
}
});
и content.js из ответа Алексей Ярков
Алексей Ярков