我第一次使用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>
答案 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();
}