有没有办法可以在各个页面上保留 javascript 变量?假设在 Page AI 中设置window.someVar = 5
. 然后我移动到页面 B,通过单击 A 中的一个超链接,并执行类似的操作alert(window.someVar)
——我应该得到一个显示 5 的消息框。是否有一种技术可以保持someVar
这种状态......?
跨页面保留javascript变量?
IT技术
javascript
2021-01-10 04:28:19
6个回答
您可以使用窗口的名称window.name
来存储信息。这称为JavaScript 会话。但它只有在使用相同的窗口/选项卡时才有效。
为了完整起见,还可以查看 HTML5 的本地存储功能和 sessionStorage。这些在所有现代浏览器的最新版本中都得到支持,并且比 cookie 更易于使用且不那么繁琐。
http://www.w3.org/TR/2009/WD-webstorage-20091222/
https://www.w3.org/TR/webstorage/。(第二版)
以下是使用 sessionStorage 和 localStorage 设置和获取值的一些示例代码:
// HTML5 session Storage
sessionStorage.setItem("variableName","test");
sessionStorage.getItem("variableName");
//HTML5 local storage
localStorage.setItem("variableName","Text");
// Receiving the data:
localStorage.getItem("variableName");
我建议你看看这个库:
我真的很喜欢它,它支持多种存储后端(从 cookie 到 HTML5 存储、Gears、Flash 等等...),它的使用非常透明,您不必知道或关心使用了哪个后端library 将根据浏览器功能选择正确的存储后端。
是的,使用Cookies。但是要小心,不要放太多(我认为有 4kb 的限制)。但是有几个变量是可以的。
如果您需要存储更多,请查看@Annie 在另一个答案中的重要提示。对于小时间数据存储,我会说 Cookies 是最简单的事情。
请注意,cookie 存储在客户端。
您可以使用 HTML5 存储、闪存存储或 Gears 保留值。该道场存储库提供了一个很好的包装这一点。
其它你可能感兴趣的问题