localStorage.刷新时setItem不持久

localStorage.setItem not persisting on refresh

本文关键字:不持久 setItem 刷新 localStorage      更新时间:2023-09-26

我正在尝试使用HTML5本地存储做一个超级简单的settitem和getItem。但这似乎行不通。如此:

$(document).ready(function () {
  localStorage.setItem('keyA', 'valueA');
  var testA = localStorage.getItem('keyA');
  alert(testA);
});

它输出一个警告框,说'valueA'。但是当我注释掉第2行(设置项目值)并刷新页面时,它只是提醒'null'。

为什么值不是持久化的?就好像它根本没有被存储。

浏览器是Firefox 6,所以没有问题。是否可以在jquery文档中调用它。ready?我用谷歌搜索过了,但没有看到任何相关信息。

如果有人能帮我克服这个最初的障碍,我会非常感激,谢谢!

好了,在经历了很多挫折之后,我有了解决方案。基本上,我只是从文件系统在本地运行它,作为一个"快速"的概念证明。它不能在Firefox和IE9中工作,但可以在Chrome中工作。

我最后做的是在一个真实的域上尝试,这似乎已经成功了。

所以我可以得出的结论是,localStorage在Firefox(至少6.0.2)和IE9中在文件系统路径上运行时不起作用。在Chrome中是这样的。Firefox和IE9需要一个"适当的"域来运行,大概是因为它们比Chrome更严格,它们将localstorage对象关联到一个"域"(在Chrome中它不需要是这样的域)。

我希望这对人们有所帮助,因为这让我很沮丧!:)