如何使用一个名称正确localTtorage?

时间:2011-01-31 02:30:12

标签: google-chrome google-chrome-extension

我想使用localStorage [“something”] = item;但是脚本会在每个页面中加载,这会创建如下文件:

  

http_www.google.bg_0.localstorage

     

http_stackoverflow.com_0.localstorage`

我希望将当前网页数据存储在一个文件中,就像普通的扩展一样。但我发现只有从popups.html访问localStorage时才可能这样做。然后输出的文件就像:

  

铬extension_cognfheolmcnfppokallnahdaibbaabe_0.localstorage

有人知道怎么做吗?或者也许如何使用popup.html中的localStorage而不显示它?


修改

当我尝试使用background.html中的函数时:

  

chrome.extension.getBackgroundPage()setItem( “currentWord”,S);

什么都没有被调用,这可能会发生吗?

这是我的background.html:


     <html><head><script>

     var logging  = false;

     function setItem(key, value) {
          alert("Saving setting");

          try {
             log("Inside setItem:" + key + ":" + value);
             window.localStorage.removeItem(key);
             window.localStorage.setItem(key, value);
          } catch(e) {
             alert("Error inside setItem: " + e);
          }
     }

     function clear() {
              window.localStorage.clear();
     }

     function log(txt) {
              if(logging) console.log(txt);
     }

     </script></head></html>

1 个答案:

答案 0 :(得分:0)

您需要将值放入后台页面中的本地存储。为此,您需要使用message passing从内容脚本传递您的价值。