У меня есть прослушиватель событий, проверяющий движения мыши в скрипте содержимого, который при обнаружении отправляет сообщение chrome в скрипт расширения popup.js (то есть движения мыши). Однако сценарий popup.js, похоже, не получает ни одного из сообщений, переданных из сценария содержимого. Я также настроил вторичную последовательность передачи сообщений из всплывающего окна в скрипт контента, который работал по какой-то причине.
При выполнении обратного вызова chrome.runtime.onMessage.addListener печать не выполняется.
popup.js:
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
console.log(request.selText);
if (request.sender == "content" && request.selText == "disabled") {
// Disabled for webpage - No action
} else if (request.sender == "content" && request.selText !==
"disabled"){
// Some action with request.selText
}
});`
content.js:
document.addEventListener('mousemove', function (e) {
chrome.runtime.sendMessage({sender: "content", selText : ""});
}, false);
Вторичная передача сообщений (это работает):
popup.js:
chrome.tabs.sendMessage(tabs[0].id, {cTabSettings: true});
content.js:
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
if (request.cTabSettings === true) {
// Some action
} else if (request.cTabSettings === false) {
// Some action
}
});
Мой ожидаемый результат - то, что поле request.selText будет напечатано в инструменте инспектора всплывающих окон, но это не так.