2011-01-31 64 views
0

我想使用localStorage [“something”] = item;但脚本在每个页面上,从而产生类似文件加载:如何正确使用localStorage名称?

http_www.google.bg_0.localstorage

http_stackoverflow.com_0.localstorage`

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

铬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> 

回答

0

你需要把值本地存储后台页面内。为了做到这一点,您需要使用message passing从内容脚本中传递您的值。

+0

请看我的更新。 – blez 2011-01-31 03:43:57

相关问题