Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.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
Javascript document.location.href重置全局变量_Javascript_Html_Variables_Global_Reset - Fatal编程技术网

Javascript document.location.href重置全局变量

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}

我正在编写一个游戏,使用不同的html文件,但只有一个javascript文件,它包含在每个html文件中。我在这个文件中有我的全局变量,它们是游戏运行所必需的。我有访问权限,可以更改我正在切换的html文件中的所有变量,但首先我使用javascript更改页面,因为我需要在游戏结束或新一轮开始时进行更改

我用

if (...) {document.location.href = "end.html"}
else {document.location.href = "newround.html}
更改实际上是可行的,但问题是,在更改之后,它会重置JavaScript文件中的所有全局变量,这是不好的,因为我需要在新的一轮中使用这些变量。。我在网上找不到任何有用的东西,所以请帮帮我,我真的需要这个!:(


谢谢!

马特说的是对的。如果你想保留页面之间的状态:

  • 将更改放在URL参数中
  • 在饼干里
  • 使用HTML5本地存储
  • 存储服务器端(这可能不起作用,因为您正在提供HTML页面)

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

    就个人而言,我对此也有问题。 我的解决办法是,我必须将更改的变量保存到服务器端。 我使用会话管理器(Redis)保存最后保存的变量。
    当页面指向“end.html”或“newround.html”时,请回忆上次保存的变量。

    页面导航就是这样工作的。每次加载页面时,JavaScript状态都会重置。要解决此问题,可以“保存”当您重定向到其他页面时,通过发送HTTP参数进行设置。那么,我如何在不重置全局变量的情况下获取条件href?:/如果我错了,很抱歉,但播放机不需要internet连接吗?我使用无条件href不会重置全局变量,因此没有任何方法实现条件hrefhref而不重置变量?:/哦,对不起,我很笨。:)我已经尝试过localStorage.setItem和localStorage.getItem(我想这就是你对本地存储的意思),它甚至重置了这个。。再一次:它是“document.location.href=“answerquestion.html”;“重置所有变量(和本地存储lol)的功能”