更新全局变量

时间:2014-03-29 09:20:24

标签: javascript jquery variables global

我的2 js文件和两个html文件main.html和log.html存在问题,只有一个按钮重定向到main.html并发出提醒

JS文件1: 我有一个全局变量

context= {};

和一个主要的:

function main() { if (typeof context.active != 'undefined') alert(context.active); }

JS文件2:

我有一个功能

function setActive() { context.active=true; window.location.href="main.html"; }

当我点击我的按钮时,它会将我重定向到main.html但是没有任何事情发生(所以它是未定义的)。我做了几个测试,按钮工作。为什么不更新context.active?

谢谢。

2 个答案:

答案 0 :(得分:0)

尝试这些方面的内容,您需要检查并说明某些情况。

JS文件1:

context = {};

主HTML :(我们正在检查以确保已分配了context.active。如果尚未将context.active指定为context的属性,则会收到未定义的消息)

function main() 
{ 
    if (typeof context.active != 'undefined')
       alert(context.active); 
}

JS文件2:

function setActive() { context.active=true; }

答案 1 :(得分:0)

您的浏览器重定向的那一刻Javascript变量基本上被删除了。整页重新加载(重定向)会产生干净的平板。

如果您尝试在页面加载时在客户端保留数据,则必须使用Cookie或会话存储。

document.cookie - link

sessionStorage - link

每种方法都有其优点和缺点,因此请务必阅读文档并在您计划支持的浏览器中检查对这些API的支持。