我有一个事件侦听器,用于检查内容脚本中的鼠标移动,当检测到鼠标移动时,它将镶边消息发送到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字段,但事实并非如此。
答案 0 :(得分:0)
我在传递回调的内容脚本消息的末尾添加了一个空函数调用,并且它正常工作。
代码如下:
chrome.runtime.sendMessage({sender: "content", selText : ""},
function () {});