2010-09-07 68 views
1

比方说,我有一个页面引用.js文件。在该文件中,我有以下代码设置一个变量的值:如何保留HTML文件之间的变量值?

var foo; 

function bar() 
    { 
    foo = //some value generated by some type of user input 
    } 

bar(); 

现在我希望能够浏览到指相同脚本的网页,并有这个变量保留值由bar()设置。假设当我到达下一页时脚本将重新运行,那么传输此变量值的最佳方式是什么?

回答

5

您可以使用cookie。

饼干最初是由 Netscape创造了让“记忆”,以网络 服务器和浏览器。该HTTP 协议,安排了 转移网页到浏览器 和浏览器请求的页面 服务器,是无状态的,这意味着 一旦服务器发送一个网页 到浏览器请求它,它不记得关于它的一件事。因此,如果你第一次来到同一个网页,第二次, 第三百次或第一百次, 服务器再次认为它是 。

这可能会在一些 方式恼人。服务器不记得您是否确定 当您想要 访问受保护的页面,它不能记住您的用户首选项 ,它不能记住任何内容。一旦 个性化被发明,这个 成为一个主要问题。

饼干被发明来解决这个 的问题。还有其他方法可以解决 它,但Cookie很容易维护,并且非常灵活。

参见:http://www.quirksmode.org/js/cookies.html

3

您可以通过在查询字符串的值。
当用户导航到其他页面时,将该值附加到查询字符串中并将其加载到下一个页面中。

+0

+1只要没有“秘密”信息。 – peirix 2010-09-07 06:00:30

1

另一种选择是jStorage。 jStorage可能更适用于缓存数据和有损用户偏好(例如以登录形式保存的用户名),因为它没有完整浏览器支持(但IE6 +和大多数其他常用浏览器都支持它)并且不能依赖(如饼干)。