【问题标题】:HTML5 local storage not saving between page refreshesHTML5 本地存储在页面刷新之间不保存
【发布时间】:2011-10-14 10:49:21
【问题描述】:

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

 <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>

【问题讨论】:

  • 你确定它没有坏掉什么的?该代码应该可以工作。您是否签入 Firebug 以查看 localStorage 内容是什么?

标签: javascript html local-storage


【解决方案1】:

您应该使用localStorage.setItem。例如

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

注意:IE 7 不支持本地存储

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 抱歉,我没有足够的积分来添加评论。
    【解决方案3】:

    我相信你需要使用“setItem”方法,即:

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

    【讨论】:

    • 嗨,我试过了,但还是不行。我不确定为什么。下面的脚本将始终进入 if (foo == null) 语句(foo 始终为 null)。有任何想法吗?谢谢
    • 您的代码无需任何修改即可为我工作。你用的是什么浏览器?
    • 仅供参考:您的警报语句在 foo == null 逻辑之外,因此它将始终执行。
    • 我现在可以正常工作了。使用 HTML5 本地存储,如果我关闭浏览器然后重新加载并转到同一页面,是否应该保持状态?使用上面的代码,你尝试了你看到了什么?谢谢你本
    【解决方案4】:

    看看我的代码

    你不需要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();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-07-12
      • 1970-01-01
      • 1970-01-01
      • 2016-10-06
      • 2019-10-09
      • 1970-01-01
      • 2020-12-30
      相关资源
      最近更新 更多