Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
html页面之间的Javascript全局变量_Javascript - Fatal编程技术网

html页面之间的Javascript全局变量

html页面之间的Javascript全局变量,javascript,Javascript,我有一些HTML页面可以通过以下方式相互打开:window.location.href=“anotherpage.HTML” 我有一个JS int变量,我需要将其保持全局(如果page1打开page2,然后page2打开page1,则该变量应具有相同的值,而不是“重置”) 我该怎么做呢?您可以使用本地存储。一些方便的功能: function enableLSvars() { if (typeof(Storage) === "undefined") throw { message : 'L

我有一些HTML页面可以通过以下方式相互打开:
window.location.href=“anotherpage.HTML”
我有一个JS int变量,我需要将其保持全局(如果page1打开page2,然后page2打开page1,则该变量应具有相同的值,而不是“重置”)


我该怎么做呢?

您可以使用本地存储。一些方便的功能:

function enableLSvars() {
    if (typeof(Storage) === "undefined") throw { message : 'Local storage must be enabled to use this.' }
    this.LS_getValue = function (key, def) { return localStorage[key] || def; }
    this.LS_setValue = function (key, value) { return localStorage[key] = value; }
    this.LS_deleteValue = function (key) { return delete localStorage[key]; }
}
在要保存变量调用的页面中:

LS_setValue(yourVar,“yourValue”)

要稍后检索该值,请使用:


LS_getValue(yourVar)

正如其他人所说,转换时需要将数据存储到某个数据库中

但是,如果您使用JavaScript框架(如AngularJS、jQueryMobile等)实现SPA(单页应用程序),即使页面发生变化,您也可以轻松地保持JavaScript变量。这些框架不采用与其他页面的简单链接

这些框架保留一个根页面,并使用Ajax获取另一个页面的DOM,然后在根页面上构建另一个页面。因此,根页面中加载的JavaScript变量仍然存在,并且可以从另一个页面访问

请看
. 本演示中未使用任何数据库。

正如Stephen p在下面的评论中所说,这将是一个非常简单的解决方案。