Я разрабатываю расширение chrome.
В моем веб-приложении есть JavaScript, встроенный в страницу HTML, которая пытается взаимодействовать с моим расширением.
let extId = "extension id";
var extPort = chrome.runtime.connect(extId);
extPort.postMessage({from: "WebServer", fn: "greeting"});
В моем расширении - фоновом скрипте прослушиватель событий настроен на обработку сообщения.
chrome.runtime.onConnectExternal.addListener(function(port) {
port.onMessage.addListener(function(message, sender) {
if (message.from == "WebServer") {
if (message.fn == "greeting") {
console.log("Message from Web Server");
}
}
});
});
Кроме того, в фоновом скрипте есть функция для использования XHR для получения страницы HTML. Функция работает нормально.
Вопрос: Сообщение (которое отображается в журнале консоли) может быть получено только тогда, когда я захожу на страницу HTML в браузере, но не когда страница получена XHR. Почему? (Извините, я новичок в JavaScript и Chrome Extension)