Javascript 跨多个HTML和全局变量引用的通用js文件
我需要跨多个html文件引用一个全局变量,每个multilpe html文件都引用一个公共js文件 index.html sub1.html sub2.html 在每个html页面中,js都包含在head标记中Javascript 跨多个HTML和全局变量引用的通用js文件,javascript,html,global,Javascript,Html,Global,我需要跨多个html文件引用一个全局变量,每个multilpe html文件都引用一个公共js文件 index.html sub1.html sub2.html 在每个html页面中,js都包含在head标记中 <head> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> <link rel="s
<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>
我已经声明了一个全局varibale globalCount,以检查Main.js的全局范围内进行了多少次导航
var globalCount=1;
并在导航函数中递增
但是对于每个html页面,globalCount变量都被重新初始化为1,即使Main.js没有被多次下载
我试过通过窗口申报。全球账户,运气不好
跨多个HTML但在同一js文件中使用通用全局变量的任何简单方法。
希望你能理解这个问题。简单!用饼干
这将允许您通过用户系统访问变量。简单!用饼干
这将允许您通过用户系统访问您的变量。您的JS文件(或任何JS文件)未下载并自行运行;当HTML页面被加载和替换时,它不会充当一种留在内存中的控制器。包含的JS文件中的代码的范围和生命周期基本上与HTML页面中内联包含的代码相同,因此当您导航到新页面时,即使新页面引用相同的包含文件,JS也会消失。如你所见
如果按照Matt Lo的回答使用cookie存储变量的值,那么JS脚本可以从中获取值。或者,您可以将其作为查询字符串参数添加到每个页面URL的末尾(如'sub1.html?globalCount='+globalCount
)并从那里访问它
(或者您可以提交这些值,并使用某种服务器端技术在新页面中回显它们,但这太过分了。)您的JS文件(或任何JS文件)不会下载并自行运行;当HTML页面被加载和替换时,它不会充当一种留在内存中的控制器。包含的JS文件中的代码的范围和生命周期基本上与HTML页面中内联包含的代码相同,因此当您导航到新页面时,即使新页面引用相同的包含文件,JS也会消失。如你所见
如果按照Matt Lo的回答使用cookie存储变量的值,那么JS脚本可以从中获取值。或者,您可以将其作为查询字符串参数添加到每个页面URL的末尾(如'sub1.html?globalCount='+globalCount
)并从那里访问它
(或者您可以提交这些值,并使用某种服务器端技术在新页面中回显它们,但这太过分了。)是的。。这是一个解决办法,另一个是通过html5本地存储,但想知道我们是否可以通过js方式来实现,因为一些用户可能会禁用cookie,并且需要其他html5支持。另一种方法是传递查询字符串,但需要做一些工作。(尽管有些javascript可以帮助实现自动化),HTML5存储并不是跨浏览器兼容性的好选择。与禁用cookies的浏览器相比,不完全支持HTML5存储的用户更多。是的。。这是一个解决办法,另一个是通过html5本地存储,但想知道我们是否可以通过js方式来实现,因为一些用户可能会禁用cookie,并且需要其他html5支持。另一种方法是传递查询字符串,但需要做一些工作。(尽管有些javascript可以帮助实现自动化),HTML5存储并不是跨浏览器兼容性的好选择。与禁用Cookie的浏览器相比,您有更多的用户不完全支持HTML5存储。感谢您的解释,但我仍然不明白为什么每次针对不同的html重置/刷新全局变量,即使它在同一个js文件中。需要了解更多关于js和DOM如何工作的信息!!JS基于每页的运行时工作。在软件环境中,页面加载时会重置工作区。这意味着,如果在一个页面中分配一个变量,它只存在于单个页面请求中“并调用第一页中的JS函数,它的工作方式就好像它仍然加载在内存中,或者附加了somepage.html,并且是第一页的一部分。感谢您的解释,但我仍然不明白为什么每次针对不同的html重置/刷新全局变量,即使它在同一个js文件中。需要更多地了解js和DOM是如何工作的!!JS基于每页的运行时工作。在软件环境中,页面加载时会重置工作区。这意味着,如果在一个页面中分配一个变量,它只存在于该单个页面请求中。根据我的经验,至少在jquery mobile中,当你调用a href=“”somepage.html”并调用第一个页面中的JS函数时,它的工作方式就好像它仍然加载在内存中,或者somepage.html被附加并且是第一个页面的一部分
var globalCount=1;