Отправка сообщения из background.js в контентный скрипт
У меня есть background.js
со следующим фрагментом:
chrome.browserAction.onClicked.addListener(toggleStatus);
Сейчас внутри toggleStatus
Я хотел бы отправить сообщение в мой контент-скрипт, что что-то случилось. Это возможно?
Или я полностью упускаю суть, это правильный путь?
Это связано с тем, что я хотел бы активировать / деактивировать свое расширение без необходимости перезагрузки страницы.
1 ответ
Решение
После еще нескольких проб и ошибок я наконец нашел решение, которое меня вполне удовлетворило.
Сначала добавьте прослушиватель событий в скрипт содержимого:
var extensionPort = chrome.extension.connect();
extensionPort.onMessage(function(msg) {
// handle the received message
});
Чтобы отправлять сообщения на каждый подключенный порт добавочного номера, добавьте его в background.js
:
chrome.extension.onConnect.addListener(function(port) {
port.postMessage({ someMessage: 'take me to the foobar' });
});