«Невозможно прочитать свойство sendMessage из undefined» генерируется в одном вызове, но не в другом (и они в значительной степени соседствуют друг с другом) - PullRequest
0 голосов
/ 08 июня 2019

Я делаю расширение chrome, один вызов chrome.runtime.sendMessage () проблематичен, в то время как другие работают; это странно, потому что «проблемный» вызов точно такой же, как и другой, и вызывается на расстоянии всего 5 строк от него. Любые возможные объяснения?

Вот вызовы sendMessage () в моем background.js:

chrome.runtime.onMessage.addListener(function(msg)
{
    ...
    chrome.runtime.sendMessage(timeCount); //not problematic
  }
  else if(msg == "NEED WATCHLIST")
  {
    chrome.runTime.sendMessage(timeCount); //throws error
  }
});

Вот сообщение из моего popup.js, которое вызывает .addListener в background.js:

chrome.runtime.sendMessage("NEED TIME");

document.getElementById("settings").onclick = function()
{
     ...   
    chrome.runtime.sendMessage("NEED WATCHLIST");
}

Вот мой манифест.json для хорошей меры (вероятно, вообще не актуально):

{
  "manifest_version": 2,
  "name": "Drill Sergeant",
  "description": "Regulates time spent on Facebook and YouTube",
  "version": "1.0.1",
  "browser_action": {"default_popup": "popup.html", "default_icon": "images/icon128.png"  },
  "background": {"scripts": ["background.js"]},
  "permissions": ["activeTab", "webNavigation", "notifications", "tabs", "background", "webRequest"],
  "web_accessible_resources": ["censor.html"]
}

Спасибо, ребята, я действительно не знаю, как это сделать ... (Что вообще вызывает ошибку "Невозможно прочитать свойство sendMessage of undefined"?)

1 Ответ

0 голосов
/ 08 июня 2019

chrome.run T есть ваша проблема. Вы хотите chrome.run t ime (нижний регистр 't')

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