@MikMik

Как отправлять сообщения на дополнительную страницу?

Подскажите, как обмениваться сообщениями со страницей расширения. Чет я не то видимо делаю. Сообщения приходят а ответ нет, вываливает ошибку Unchecked runtime.lastError: The message port closed before a response was received.

на бэкграунде
chrome.runtime.onMessage.addListener(
    function (request, sender, sendResponse) {
        if (request.command == "getEventList") {
            getEventList().then((eventList) => {
                sendResponse({res: 'eventList'});
            });
        }
    }
)


function getEventList(e) {
    return new Promise((resolve)=>{
        var eventList = new Array();
        db.transaction([eventStore], "readonly").objectStore(eventStore).openCursor().onsuccess = function (e) {
            var cursor = e.target.result;
            if (cursor) {
                eventList.push(cursor.value);
                cursor.continue();
            }
            resolve(eventList);
        }
    })
}


на странице
document.addEventListener("DOMContentLoaded", function () {
    chrome.runtime.sendMessage({command: "getEventList"}, function(response) {
        console.log(response);
    });
})
  • Вопрос задан
  • 86 просмотров
Решения вопроса 1
tioffs
@tioffs
Подробное описание обмена сообщениями:https://habr.com/ru/company/waves/blog/451796/
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы