簡體   English   中英

擴展腳本不接收來自內容腳本的消息 - chrome擴展

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM