Проблемы с чтением данных ответа Chrome - PullRequest
0 голосов
/ 25 апреля 2019

У меня есть файл popup.js в popup.html, который отправляет запрос на background.js, background.js получает cookie, а если файл cookie существует, он отправляет ответ на popup.js.

Но когда япопробуйте открыть всплывающее окно, я получаю эти ошибки

1 - ответ на обработку ошибки: TypeError: Невозможно прочитать свойство 'data' из неопределенного

2 - Unchecked runtime.lastError: Порт сообщениязакрыто до получения ответа.

Код

Background.js

chrome.runtime.onMessage.addListener((msg, sender, sendResponse) => {

if (msg.topic === 'data') {
 chrome.cookies.get({ url: 'https://domain', name: 'name' },
function (cookie) {
    if (cookie) {
    sendResponse({data: "yes"});    

  } else { sendResponse({data: "no"});  }
     return true;


}
 )};

});

Popup.js

chrome.runtime.sendMessage({
topic: 'data'},
function(response) {
  if (response.data == "yes")
  document.write = 'COOKIE YES'

   else if (response.data == "no")
  document.write = 'COOKIE NO'
});


Спасибо всем, кто ответит

1 Ответ

0 голосов
/ 25 апреля 2019

"Unchecked runtime.lastError: The message port closed before a response was received." относится к установленному вами расширению браузера, а не к коду, который вы используете.Безопасно игнорировать это, я верю.

Используйте console.log(response), чтобы увидеть, получаете ли вы то, что, как вы думаете, вы получаете.

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