我有一些HTML页面互相打开:window.location.href = "anotherpage.html";
我有一个JS int变量,我需要保持全局(如果page1打开page2以后,page2打开page1,var应该具有相同的值而不是“reset”)。
我该怎么做?
答案 0 :(得分:2)
您可以使用本地存储空间。一些功能使它变得方便:
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);
答案 1 :(得分:0)
正如其他人所说,您需要在转换时将数据存储到某个数据库。
但是如果使用JavaScript框架实现SPA(单页面应用程序),例如AngularJS,jQueryMobile等,即使页面发生变化,您也可以轻松保持javascript变量。这些框架不采用简单链接到另一个页面。
这些框架保留一个根页面并使用Ajax获取另一个页面的DOM,然后在根页面上构建另一个页面。因此,在根页面中加载的JavaScript变量可以存活,并且可以从另一个页面访问。
请看 this AngularJS demo in the blog post。此演示中未使用任何数据库。