使用Chrome上的location.reload无法正常工作,在Firefox中使用相同的代码也可以正常工作

问题描述 投票:0回答:3

我正在使用Javascript制作Snake游戏,并检查用户是否触及了边界,是否超过了gameover,并调用了game over函数,该函数根据html文件的语言显示一个带有其内容的确认框,因为我有2个html文件:一个用于法语,一个用于英语。

this.alert = alert;

this.gameOver = function() {
    const langCheck = document.getElementById("html").lang;
    if (langCheck === "fr") {
      alert = confirm("\t\tPerdu!\n\n Votre longueur était: " + this.eaten);
    } else {
      alert = confirm(
        "\t\tGame Over!\n\n Your snake length was: " + this.eaten
      );
    }
    console.log(alert);

    if (alert === true) {
      document.location.reload(true);
    } else {
      document.location.reload(true);
    }
  };

在Chrome中,当我单击“确定”或“取消”时,确认框会立即重新打开,并且不会重新加载(编辑:忘记了,但单击“确定”后页面只是挂起),即使控制台日志记录警报返回了true。那么,为什么不能在Chrome上正常运行时在Chrome上正常工作?

[我尝试了许多不同的location.reload,当我像window.location.reload()一样研究它时看到了,但完全相同。

[我被困在这里是因为正如我在Firefox中所说的那样,它可以完美地工作,而那是我在编写游戏程序时最初进行测试的地方,但是当我完成后,我决定看看在Chrome上它是否可以工作,这就是我发现的地方。] >

[我正在使用Javascript制作Snake游戏,并检查用户是否触及了边界,是否超过了Gameover,并调用了Game Over函数,其中显示了带有其内容的确认框...

javascript google-chrome reload
3个回答
0
投票

您可以尝试使用location.reload()代替代码(从其他解决方案在线获取的代码)


0
投票

document.location.reload(true);对于Google chrome没问题,您可以在此处查看fiddle示例。


0
投票

应该是

© www.soinside.com 2019 - 2024. All rights reserved.