在页面刷新后如何保留 JavaScript 变量的值?

18

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

4个回答

22

Cookie

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

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

使用jQuery使用cookie非常容易。

设置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也会与Web服务器共享。 - Alnitak
如果你需要支持没有本地存储的浏览器,通常会这样。@Alnitak - rogermushroom
https://github.com/carhartl/jquery-cookie - Anis Abboud

4
你可以将该值放在cookie中。
完整的替代列表如下:
  • 标准HTTP cookie
  • 本地共享对象(Flash cookie)
  • Silverlight隔离存储
  • 使用HTML5 Canvas将cookie存储在自动生成、强制缓存的PNG的RGB值中,以便读取像素(cookie)
  • 将cookie存储在Web历史记录中
  • 将cookie存储在HTTP ETags中
  • 将cookie存储在Web缓存中
  • window.name缓存
  • Internet Explorer userData存储
  • HTML5会话存储
  • HTML5本地存储
  • HTML5全局存储
  • 通过SQLite进行HTML5数据库存储
Evercookie

3
您可以将其存储在cookie中。如果浏览器支持,也可以使用本地存储。

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接