跨多个html和全局变量引用的公共js文件



我需要在多个html文件中引用一个全局变量,每个多页html文件都引用一个公共的js文件。

index.htmlsub1.htmlsub2.html

在每个html页面中,js都包含在头标签中

<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<link rel="stylesheet" href="/css/Main.css" type="text/css"/>
<script src="/js/Main.js" ></script>
</head>

从一个html到另一个html的导航来自类似的js函数。

比如从index.html到sub1.html

window.location.href='/forms/sub1.html';

我已经声明了一个全局变量globalCount,以检查在Main.js 的全局范围内进行了多少导航

var globalCount=1;

并且在导航功能中递增。

但是对于每个html页面,globalCount变量都会重新初始化为1,即使Main.js没有多次下载。

我试着通过window.globalCount声明,没有成功。

在多个htmls之间但在同一个js文件中拥有一个公共全局变量的任何简单方法

希望你能理解这个问题。

简单!使用cookiehttps://developer.mozilla.org/en/DOM/document.cookie

这将允许您通过用户的系统访问变量。

您的JS文件(或任何JS文件)不会自行下载和运行;当HTML页面被加载和替换时,它并不是一个停留在内存中的控制器。包含的JS文件中代码的范围和生命周期与HTML页面中内联包含的代码基本相同,因此当您导航到新页面时,即使新页面引用了相同的包含文件,JS也会消失。正如你所看到的。

如果你根据Matt Lo的回答使用cookie来存储变量的值,你的JS脚本可以从中获得值。或者,您可以将它作为查询字符串参数添加到每个页面的URL末尾(如'sub1.html?globalCount=' + globalCount),然后从那里访问它。

(或者,您可以提交这些值,并使用某种服务器端技术在新页面中回显它们,但这太过分了。)

最新更新