gpt4 book ai didi

javascript - Chrome 和 Firefox 之间的差异 : Reloading a page running a Javascript game

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:06:17 26 4
gpt4 key购买 nike

我一般不熟悉 Javascript 和网络编程,所以这可能是一个愚蠢的错误。尽管如此,我在查找有关它的信息时遇到了问题。

我正在用 Javascript 开发一款游戏,玩家可以在其中四处走动,并通过单击并让他们的化身走到不同的建筑物/物体来从一个场景移动到另一个场景。现在,如果检测到冲突,我只需通过调用 this.gotoTimer = setTimeout(self.location = this.targetURL, 1000); 来更改页面位置。

该页面在两种浏览器中的链接都很好。问题是当用户按下后退按钮时......在 Chrome 中,一切都会重置;播放器生成在与我在代码中设置的相同区域,并且所有“linktargets”仍然有效。这是期望的行为。

在 Firefox 中,一旦按下后退按钮并重新加载页面,玩家就在他/她最后已知的位置,他们访问的链接目标将不再链接......我最终可以通过访问它们来停用所有这些并按下后退按钮。

根据我的研究,这似乎是 Firefox 如何处理缓存的问题,我找到的解决方法涉及将随机数或时间附加到 Javascript 文件。这让我觉得很恶心。我也可能离题太远了。

所以我想知道两件事:

  1. 这是对问题的准确假设,还是存在其他问题?
  2. 如果是,附加这些数字的最佳方式是什么。整个概念对我来说似乎很老套...

最佳答案

很抱歉放弃这个问题这么久,但我找到了一个有效的解决方案!

我现在打电话 window.location.reload(true);在我打电话之前 window.location = whateverUrl;

...我不确定为什么它工作得这么好(我认为 window.location.reload 会在转到新页面之前重新加载当前页面 [这显然不是我想要的]),但它似乎很好。我想它可能在背后做了一些我不知道的事情,但从功能上讲,它正在做我想做的事情。

关于javascript - Chrome 和 Firefox 之间的差异 : Reloading a page running a Javascript game,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7194095/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com