[英]Extension script not receiving messages from content script - chrome extension
我有一個事件監聽器檢查內容腳本中的鼠標移動,當檢測到(即鼠標移動)時,它會向popup.js擴展腳本發送一條chrome消息。 但是,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字段將在彈出檢查器工具中打印,但事實並非如此。
我在內容腳本消息傳遞回調的末尾添加了一個空函數調用,它只是起作用。
代碼如下所示:
chrome.runtime.sendMessage({sender: "content", selText : ""},
function () {});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.