1

我正在构建一个与映射页面一起使用的 Chrome 扩展程序。用户登录到地图,许多变量从数据库传递到地图中。

打开扩展程序时,有没有办法将这些变量传递给它?我在考虑LocalStorage:

作为测试,我在地图页面 HTML 中尝试了这个

if (typeof(Storage)!=="undefined") {
localStorage.setItem("firstname", "hello");
localStorage.setItem("lastname", "world");
}  

然后在我刚刚尝试过的扩展内容中

alert('My name is ' + localStorage.getItem("firstname") + ' ' +
localStorage.getItem("lastname"));

我可以在地图页面开发者工具中看到 localstorage 下的变量。但我在扩展中看到了不同的集合。

似乎扩展程序无法读取这些。有没有办法可以发送这些,或者我需要不同的方法?

4

1 回答 1

1

我认为您想要的是在 chrome 中传递消息。见这篇文章https://developer.chrome.com/extensions/messaging.html

基础是这样的

chrome.extension.getLocal({method: "getLocalStorage", key: "status"}, function(response) {
  console.log(response.data);
});

.

chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
    if (request.method == "getLocal"){
      sendResponse({data: localStorage[request.key]});
    }else{
      sendResponse({}); }
});

您还可以考虑使用 chrome 存储而不是本地存储 http://developer.chrome.com/extensions/storage.html

于 2013-10-18T13:49:59.123 回答