页面刷新之间不保存HTML5本地存储

时间:2011-07-27 16:37:10

标签: javascript html5 local-storage

我第一次使用FF5使用HTML5本地存储。我有下面的javascript,它应该将字符串保存到本地存储中,但是当重新加载页面时,本地存储中没有任何值。我究竟做错了什么?为什么'foo'没有填充在sedond load页面上?

 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js</script>

<script>
$(document).ready(function() {

if (!localStorage) {return false; }

var foo = localStorage.getItem("key1");

if (foo != null)
{
   document.getByName("identifier").value = foo;
}

localStorage["key1"] = "value1";

});
</script>

4 个答案:

答案 0 :(得分:3)

您应该使用localStorage.setItem。例如

localStorage.setItem("key1", "value1");

注意:IE 7没有localStorage支持

答案 1 :(得分:3)

我也有同样的问题。我发现在document.ready期间我无法从本地存储中检索项目,但我之后能够获取这些项目。

答案 2 :(得分:0)

我认为你需要使用“setItem”方法,即:

localStorage.setItem('key1', 'value1');

答案 3 :(得分:0)

查看我的代码

您不需要getItem和setItem

jQuery('.close-intro').click(function() {
    window.localStorage['intro'] = 1;
    jQuery('.intro-holder').slideUp();
    jQuery('.open-intro').show();
});
jQuery('.open-intro').click(function() {
    window.localStorage['intro'] = 0;
    jQuery('.intro-holder').slideDown();
    jQuery(this).hide();
});
var opcl = window.localStorage['intro'];
if (opcl == 1) {
    jQuery('.intro-holder').slideUp();
    jQuery('.open-intro').show();
}
if (opcl == 0) {
    jQuery('.intro-holder').slideDown();
    jQuery('.open-intro').hide();
}