Я делаю расширение 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"?)