Chrome扩展程序消息使用localStorage传递,值未定义

时间:2011-11-15 23:14:16

标签: javascript google-chrome

我正在尝试使用Message Passing将一些数据从localStorage传递到我的脚本。一切似乎都是正确的,但数据没有通过。我已经设置了控制台写入,以查看是否正在触摸消息传递,而不是。这是我第一次使用JavaScript,因此语法错误。

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

My Code On Gist

1 个答案:

答案 0 :(得分:0)

看起来您可能正在使用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));
    }
 );
}