如何维护和访问可从所有页面访问的javascript变量?

如何维护和访问可从所有页面访问的javascript变量?,javascript,Javascript,我有一个包含全局变量'num'的temp.js文件,该变量初始设置为0。它有一个函数Increment(),将num增加1 我有两个html文件Page1.html和Page2.html。两者都引用temp.js文件()。这两个页面都有一个单击按钮,我称之为javascript并导航到另一个页面。i、 e,在Page1.html中单击按钮,我将导航到Page2.html,反之亦然 在从任何页面导航之前,我调用Increment()函数。我看到的是num总是初始化为0,增量函数将其设置为1。我想要

我有一个包含全局变量'num'的temp.js文件,该变量初始设置为0。它有一个函数Increment(),将num增加1

我有两个html文件Page1.html和Page2.html。两者都引用temp.js文件()。这两个页面都有一个单击按钮,我称之为javascript并导航到另一个页面。i、 e,在Page1.html中单击按钮,我将导航到Page2.html,反之亦然

在从任何页面导航之前,我调用Increment()函数。我看到的是num总是初始化为0,增量函数将其设置为1。我想要的是第一次将num设置为0,然后在我调用该函数时以1递增


无论如何,我可以做到以上。在我的场景中,使用querystring传递值或维护某种母版页是不可能的。

您可以编写cookies。这是你能做的最好的了

最好将变量写入cookie。请注意,这是存在的最简单的欺骗方法之一,因此,如果计数器在任何方面都“重要”,您应该避免这样做


在最后一种情况下,最好将计数器存储在会话变量中。这需要1)服务器端语言(例如PHP、ASP、Perl)2)对服务器上更新会话的页面的异步调用(AJAX)。

您还可以有一个母版页,它以Page1.html为框架。在iframe中浏览到Page2.html时,父页面的上下文仍然存在。然后,可以使用parent.counter从框架中的两个文档引用全局计数器


但是,使用iframe会在页面加载时添加一个额外的http请求,并导致浏览器消耗额外的资源。这也会使你的网站复杂化。cookie解决方案将为您向服务器发出的每个请求添加字节。您的选择。

和会话的安全实现:)