Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript localStorage.setItem在刷新时未持久化_Javascript_Local Storage - Fatal编程技术网

Javascript localStorage.setItem在刷新时未持久化

Javascript localStorage.setItem在刷新时未持久化,javascript,local-storage,Javascript,Local Storage,我正在尝试使用HTML5本地存储实现一个超级简单的setItem和getItem。但它似乎不起作用。这项工作: $(document).ready(function () { localStorage.setItem('keyA', 'valueA'); var testA = localStorage.getItem('keyA'); alert(testA); }); 它输出一个警告框,上面写着“valueA”。但当我注释掉第2行(设置项目值)并刷新页面时,它只会提醒“null

我正在尝试使用HTML5本地存储实现一个超级简单的setItem和getItem。但它似乎不起作用。这项工作:

$(document).ready(function () {
  localStorage.setItem('keyA', 'valueA');
  var testA = localStorage.getItem('keyA');
  alert(testA);
});
它输出一个警告框,上面写着“valueA”。但当我注释掉第2行(设置项目值)并刷新页面时,它只会提醒“null”

为什么价值没有持续?就好像它根本没有被储存起来

浏览器是Firefox6,所以没有问题。这可能与在jquery document.ready中调用它有关吗?我在谷歌上搜索过,但看不到任何关于这方面的信息


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

好吧,在经历了很多挫折之后,我找到了解决办法。基本上,我只是从文件系统本地运行它,作为概念的“快速”证明。它在Firefox和IE9中都不起作用,但在Chrome中起作用

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

因此,我可以得出的结论是,Firefox(至少6.0.2)和IE9中的localStorage在文件系统路径上运行时不起作用。它是用铬做的。Firefox和IE9需要一个“适当的”域来运行,可能是因为它们在将localStorate对象与“域”关联的方式上比Chrome更严格(在Chrome中,它不需要是这样的域)


我希望这有助于人们,因为这让我非常沮丧

我无法在Chrome上复制。嗯。。。我在Chrome上也能用,但在Firefox6上不行!?其他人可以在Firefox 6.0.2(最新版本)中尝试吗?我开始认为在这个版本的Firefox中有不同的方法来实现这一点,或者这是一个bug:(我尝试了很多不同的本地存储示例,但似乎没有一个能够在Firefox 6.0.2中持久存在。我安装了6.0,并且它工作正常。然后更新到6.0.2,其值仍然存在……因此它甚至在更新中幸存下来。这些可能很有意思:并且。2019年仍然有用:)MacOS上的Safari也有同样的问题。虽然Chrome和Firefox持久存储了我的令牌,但当导航到另一个页面或只是进行刷新时,它总是在Safari上被删除。我可以确认它在自定义域名上也不起作用(例如,让example.test指向主机文件中的127.0.0.1)。使用Firefox 84.0(64位)在Ubuntu 20.04上