Как сделать ответ на contentScript из вложенных обратных вызовов - PullRequest
0 голосов
/ 27 марта 2019

Я хочу отправить результат выполненного скрипта на contentScript как ответ, но, очевидно, я делаю что-то не так.Chrome продолжает выдавать ошибку «Unchecked runtime.lastError: Порт сообщения закрыт до получения ответа.»

chrome.runtime.onMessage.addListener(
(request, sender, sendResponse) => {
    chrome.tabs.create({url: "example.com"}, tab => {
        chrome.tabs.executeScript(tab.id, {code: var x = 10; x}, function (result) {
            sendResponse(result);    
        });
    });
});

1 Ответ

0 голосов
/ 27 марта 2019

Вы должны вернуть true от слушателя, например:

chrome.runtime.onMessage.addListener(
(request, sender, sendResponse) => {
    chrome.tabs.create({url: "example.com"}, tab => {
        chrome.tabs.executeScript(tab.id, {code: 'var x = 10; x'}, function (result) {
            sendResponse(result);    
        });
    });
    return true;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...