在页面中保留javascript变量?

deo*_*oll 108 javascript

有没有办法可以在各个页面中保存javascript变量?假设在页面AI设置window.someVar = 5.然后我通过点击A中的超链接移动到页面B,并做类似的事情alert(window.someVar)- 我应该得到一个显示的消息框5.是否有一种技术可以坚持someVar这样......?

Gum*_*mbo 113

您可以使用窗口名称window.name来存储信息.这称为JavaScript会话.但只有使用相同的窗口/标签,它才有效.

  • 有趣的黑客...... (4认同)
  • +1哦,有趣,不知道/想到这一点!你能放多少钱?是否有已知/定义的限制? (3认同)

And*_*ume 42

为了完整起见,还要了解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");
Run Code Online (Sandbox Code Playgroud)

  • 参考实施:https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage (3认同)
  • 浏览器支持:http://caniuse.com/#search=sessionStorage (3认同)

CMS*_*CMS 27

我建议你看看这个库:

我非常喜欢它,它支持各种存储后端(从cookie到HTML5存储,Gears,Flash等等),它的用法非常透明,你不必知道或关心使用哪个后端库将根据浏览器功能选择正确的存储后端.


Pek*_*ica 13

是的,使用Cookies.但是要小心,不要在它们中放太多(我认为有4kb的限制).但是一些变量是可以的.

如果您需要存储的内容远不止这些,请在另一个答案中查看@ Annie的精彩提示.对于小时间数据存储,我会说Cookies是最简单的事情.

请注意,cookie存储在客户端.

  • Cookie的其他缺点是它们与域内的每个HTTP请求一起发送,即使使用像图像一样的*静态*内容...... (8认同)

Ann*_*nie 9

您可以使用HTML5存储,Flash存储或Gears来保留值.该道场存储库提供了一个很好的包装这一点.


Ele*_*Bit 6

我推荐网络存储.例:

// Storing the data: localStorage.setItem("variableName","Text"); // Receiving the data: localStorage.getItem("variableName");

只需替换variable您的变量名称和text您要存储的内容即可.据W3Schools说,它比饼干更好.