提取后,后台脚本的响应返回未定义-Chrome扩展程序

时间:2019-07-04 16:41:47

标签: javascript google-chrome-extension

我有一个内容脚本,可以将消息发送到后台脚本:

chrome.runtime.sendMessage({site: "stackoverflow", options: { 
    url: url
  }}, function(res) {
    console.log(res);
  });

并且我的后台脚本具有侦听器:

chrome.runtime.onMessage.addListener(
  function(request, sender, sendResponse) {
    if (request.site == "stackoverflow") {

      fetch(request.options.url)
      .then( (res) => {
        return res.text()
      })
      .then( (document_text) => {
        sendResponse({"one": "1"})
      })
    }
    //sendResponse({"one": "1"})
});

现在,在抓取中,当我尝试将响应发送回时,我在内容脚本中得到了undefined。如果我在提取之前使用它:

chrome.runtime.onMessage.addListener(
  //...
      .then( (document_text) => {
        //sendResponse({"one": "1"})
      })
    }
    sendResponse({"one": "1"})
});

我的内容脚本日志{"one": "1"}

我为什么会遇到这个问题?

0 个答案:

没有答案