document.location.href重置全局变量

时间:2013-05-30 18:50:44

标签: javascript html variables global reset

我正在编写游戏并使用不同的html文件但只有一个javascript文件,它包含在每个html文件中。我在这个文件中有我的全局变量,这些变量是游戏运行所必需的。我可以访问并且可以更改我正在切换的html文件中的变量,但是有一件事我使用javascript来更改页面,因为我需要区别于游戏结束或新一轮开始。

我用

if (...) {document.location.href = "end.html"}
else {document.location.href = "newround.html}

更改实际上有效,但事实是在更改之后它会重置JavaScript文件中的所有全局变量,这很糟糕,因为我需要新轮次中的一些...我在网上找不到任何有用的东西,所以请帮帮我,我真的需要这个! :(

谢谢!

3 个答案:

答案 0 :(得分:2)

Matt说的是对的。如果要在页面之间保留状态:

  1. 将更改放入网址参数
  2. 在Cookies中
  3. 使用HTML5本地商店
  4. 存储服务器端(这可能不起作用,因为您正在提供HTML页面)

答案 1 :(得分:0)

您可以使用iframe作为游戏容器。

答案 2 :(得分:0)

就个人而言,我也有这个问题。 我的解决方法最终是我必须在服务器端保存更改的变量。 我利用会话管理器(Redis)来保存最后保存的变量。 当页面指向“end.html”或“newround.html”时,请调用上次保存的变量。