我正在尝试使用HTML5本地存储来执行一个简单的setItem和getItem。它似乎没有工作。这有效:
$(document).ready(function () {
localStorage.setItem('keyA', 'valueA');
var testA = localStorage.getItem('keyA');
alert(testA);
});
它会输出一个警告框,上面写着'valueA'。但是当我注释掉第2行(设置项目值)并刷新页面时,它只是警告“空”。
为什么价值不存在?这就像它实际上根本没有存储一样。
浏览器是Firefox 6,所以没问题。可以在jquery document.ready中调用它吗?我用谷歌搜索但看不到任何相关内容。
如果有人能让我超过这个最初的障碍,我将非常感激,谢谢!
答案 0 :(得分:12)
好的,经过很多挫折我得到了解决方案。基本上,我只是从文件系统本地运行它作为“快速”概念证明。它在Firefox和IE9中都不起作用,但它确实在Chrome中有效。
我最终做的是在一个真实的域上尝试这个,而这似乎已经成功了。
所以我可以得出的结论是,在文件系统路径上运行时,Firefox中的localStorage(至少6.0.2)和IE9不起作用。它在Chrome中。 Firefox和IE9需要一个“适当的”域来运行,大概是因为它们将localStorate对象与“域”相关联的方式比Chrome更严格(在Chrome中它不需要像域一样)。
我希望这对人们有所帮助,因为它让我感到沮丧! :)