Chrome扩展消息传递与localStorage,值是未定义

Chrome Extension Message Passing with localStorage, value is undefined

本文关键字:未定义 localStorage 扩展 消息传递 Chrome      更新时间:2023-09-26

我试图使用消息传递从localStorage传递一些数据到我的contentscript。一切似乎都是正确的,但数据没有传递。我已经设置了控制台写入,以查看传递的消息是否被触摸,而不是。这是我第一次使用JavaScript,所以语法可能是错误的。

以下是我在扩展中使用的所有文件:

My Code On Gist

看起来您可能正在使用sendRequest,就好像它是同步的。

function genericOnClick(info, tab) {
  var sText = info.selectionText;
  var daddr = sText.split(' ').join('+');
  chrome.extension.sendRequest(
    {method: "getLocalStorage", key: "saddr"}, 
    function(response) {
      var saddr = response.data;
      var homeTxt = "http://maps.google.com/maps?" + 
          "saddr=" + saddr.split(' ').join('+') + "&daddr=";
      var url = homeTxt + daddr;
      chrome.tabs.create({url:url});
      console.log("item " + info.menuItemId + " was clicked");
      console.log("info: " + JSON.stringify(info));
      console.log("tab: " + JSON.stringify(tab));
    }
 );
}