Передача сообщения между веб-приложением и Chrome расширением - Как получить сообщение? - PullRequest
0 голосов
/ 31 января 2020

Я разрабатываю расширение 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)

...