Javascript document.location.href重置全局变量
我正在编写一个游戏,使用不同的html文件,但只有一个javascript文件,它包含在每个html文件中。我在这个文件中有我的全局变量,它们是游戏运行所必需的。我有访问权限,可以更改我正在切换的html文件中的所有变量,但首先我使用javascript更改页面,因为我需要在游戏结束或新一轮开始时进行更改 我用Javascript document.location.href重置全局变量,javascript,html,variables,global,reset,Javascript,Html,Variables,Global,Reset,我正在编写一个游戏,使用不同的html文件,但只有一个javascript文件,它包含在每个html文件中。我在这个文件中有我的全局变量,它们是游戏运行所必需的。我有访问权限,可以更改我正在切换的html文件中的所有变量,但首先我使用javascript更改页面,因为我需要在游戏结束或新一轮开始时进行更改 我用 if (...) {document.location.href = "end.html"} else {document.location.href = "newround.html}
if (...) {document.location.href = "end.html"}
else {document.location.href = "newround.html}
更改实际上是可行的,但问题是,在更改之后,它会重置JavaScript文件中的所有全局变量,这是不好的,因为我需要在新的一轮中使用这些变量。。我在网上找不到任何有用的东西,所以请帮帮我,我真的需要这个!:(
谢谢!马特说的是对的。如果你想保留页面之间的状态:
您可以使用
iframe
作为游戏容器。就个人而言,我对此也有问题。
我的解决办法是,我必须将更改的变量保存到服务器端。
我使用会话管理器(Redis)保存最后保存的变量。
当页面指向“end.html”或“newround.html”时,请回忆上次保存的变量。页面导航就是这样工作的。每次加载页面时,JavaScript状态都会重置。要解决此问题,可以“保存”当您重定向到其他页面时,通过发送HTTP参数进行设置。那么,我如何在不重置全局变量的情况下获取条件href?:/如果我错了,很抱歉,但播放机不需要internet连接吗?我使用无条件href不会重置全局变量,因此没有任何方法实现条件hrefhref而不重置变量?:/哦,对不起,我很笨。:)我已经尝试过localStorage.setItem和localStorage.getItem(我想这就是你对本地存储的意思),它甚至重置了这个。。再一次:它是“document.location.href=“answerquestion.html”;“重置所有变量(和本地存储lol)的功能”