【问题标题】:Keep a JavaScript variables value after a page refresh? [closed]页面刷新后保留 JavaScript 变量值? [关闭]
【发布时间】:2012-08-07 08:13:14
【问题描述】:

我正在处理一个项目,其中变量被分配了一个值,我在刷新浏览器时需要该值。有没有办法获得该值?

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    Cookies

    最好的解决方案是使用cookies。 cookie,也称为 HTTP cookie、网络 cookie 或浏览器 cookie,通常是从网站发送的一小段数据,并在用户浏览网站(来自维基百科)时存储在用户的网络浏览器中。

    使用 cookie,您可以保存 状态,然后读取并使用它。

    使用 jQuery 可以很容易地使用 cookie。

    设置:

    $.cookie("var", "10");
    

    获得:

    $.cookie("var")
    

    删除:

    $.cookie("var", null);
    

    本地存储

    当您想在本地保存大量数据时,您还有另一个机会——使用本地存储(从 HTML5 开始)。您可以直接使用 JavaScript 或使用可用的 jQuery 插件之一来完成。

    例如,totalStorage:

    var scores = new Array();
    scores.push({'name':'A', points:10});
    scores.push({'name':'B', points:20});
    scores.push({'name':'C', points:0});
    $.totalStorage('scores', scores);
    

    【讨论】:

    • 使用 cookie不是最好的解决方案,因为 cookie 也与网络服务器共享。
    • @Alnitak 如果您需要支持没有本地存储的浏览器,通常是这样。
    【解决方案2】:

    您可以将该值放在 cookie 中。

    替代品的完整列表是

    • 标准 HTTP cookie
    • 本地共享对象(Flash cookie)
    • Silverlight 隔离存储
    • 使用 HTML5 Canvas ag 将 cookie 存储在自动生成、强制缓存的 PNG 的 RGB 值中,以读取像素(cookie)
    • 在网络历史记录中存储 cookie
    • 在 HTTP ETag 中存储 cookie
    • 在 Web 缓存中存储 cookie
    • window.name 缓存
    • Internet Explorer 用户数据存储
    • HTML5 会话存储
    • HTML5 本地存储
    • HTML5 全局存储
    • 通过 SQLite 的 HTML5 数据库存储

    Evercookie

    【讨论】:

      【解决方案3】:

      您可以将其存储在 cookie 中。或者在浏览器支持的情况下使用本地存储。

      【讨论】:

        【解决方案4】:

        您可以使用$.cookie("key", value)设置值,$.cookie("key")获取保存的值。

        编辑:关于如何在 jQuery 中使用 cookie 的小教程:http://www.electrictoolbox.com/jquery-cookies/

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-08-23
          • 1970-01-01
          • 2013-04-18
          • 2016-12-20
          • 1970-01-01
          • 2017-03-05
          相关资源
          最近更新 更多