Chrome расширение: невозможно связаться с веб-страницы с расширением chrome (принимающая сторона не существует) - PullRequest
0 голосов
/ 01 августа 2020

На мою веб-страницу внедрен следующий скрипт, который выполняется:

console.log("Injected script is running");
console.log(extensionID);
chrome.runtime.sendMessage(extensionID, {test: test}, function(response) {

});

, где extensionID - это идентификатор расширения моего расширения.

Когда это происходит, я получаю следующая ошибка:

Unchecked runtime.lastError: Could not establish connection. Receiving end does not exist.

Насколько я понимаю, это происходит из-за того, что сообщение никуда не отправляется, или оно не может подключиться к расширению или чему-то еще.

Это чрезвычайно непонятно, как я должен это слушать. Я пытаюсь следовать руководству по адресу https://developer.chrome.com/extensions/messaging, но крайне неясно, на какой странице должны быть c блоки кода.

Должен ли я слушать фоновая страница? Или в сценарии содержимого?

Я хочу, чтобы сообщение было получено сценарием содержимого.

Добавление следующего прослушивателя на мою фоновую страницу или сценарий содержимого не работает :

chrome.runtime.onMessage.addListener(
    function(request, sender, sendResponse) {
        console.log("background.js got a message")
        console.log(request);
        console.log(sender);
        sendResponse("bar");
    }
);

Я прочитал и попытался реализовать несколько руководств, описывающих это, но мне так и не удалось передать сообщение со страницы в расширение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...