Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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
在Chrome中发出警报后如何在javascript中重新加载页面_Javascript_Google Chrome_Reload_Ecmascript 5 - Fatal编程技术网

在Chrome中发出警报后如何在javascript中重新加载页面

在Chrome中发出警报后如何在javascript中重新加载页面,javascript,google-chrome,reload,ecmascript-5,Javascript,Google Chrome,Reload,Ecmascript 5,我正在浏览游戏《突破》的MDN canvas游戏教程。当球经过球拍时,游戏结束,页面重新加载,重新开始 代码如下所示: if (y + dy < ballRadius) { dy = -dy; } else if(y + dy > canvas.height-ballRadius) { if(x > paddleX && x < paddleX + paddleWidth) { dy = -dy; } el

我正在浏览游戏《突破》的MDN canvas游戏教程。当球经过球拍时,游戏结束,页面重新加载,重新开始

代码如下所示:

 if (y + dy < ballRadius) {
     dy = -dy;
 } else if(y + dy > canvas.height-ballRadius) {
     if(x > paddleX && x < paddleX + paddleWidth) {
        dy = -dy;
     } else {
        alert("GAME OVER");
        document.location.reload();
     }
 }
if(y+dy画布高度和半径){
如果(x>桨叶x&&x<桨叶x+桨叶宽度){
dy=-dy;
}否则{
警报(“游戏结束”);
document.location.reload();
}
}
在FireFox和Safari中,这会按预期运行,在解除警报后,页面将重新加载,脚本将从头开始

但是,在Chrome中,当球击中画布的
y
边界的末端并显示警报后,如果您点击
Ok
将其解除,页面不会重新加载。相反,球会继续移动,并且在每次迭代后,会显示一个新的警报(如果您使用
Ok
解除警报,它将继续而不重新加载)

有人知道发生了什么,为什么页面无法重新加载吗

在中可以观察到与Chrome相同的功能

更新:在Chrome的控制台中,如果我尝试
document.location.reload()
我会得到
undefined
<代码>文档。位置按预期生成
localhost


调用重新加载后清除间隔

更改
setInterval(图10)
var区间=设定区间(图10)


添加
clearInterval(间隔)
document.location.reload()之后

调用重新加载后清除间隔

更改
setInterval(图10)
var区间=设定区间(图10)


添加
clearInterval(间隔)
document.location.reload()之后

这很有效,谢谢。你能再详细说明一下这里发生了什么吗?显然,你是在告诉它停止事件循环,但不确定Chrome为什么会以这种方式运行,背后是否有任何合理的原因。我将你的代码放在一个单独的页面中进行调试。当游戏结束时,窗口会卡在重新加载中(由微调器显示),因此我认为在Chrome中,允许发出警报阻止页面重新加载,但在其他浏览器中则不允许。这很有效,谢谢。你能再详细说明一下这里发生了什么吗?显然,你是在告诉它停止事件循环,但不确定Chrome为什么会以这种方式运行,背后是否有任何合理的原因。我将你的代码放在一个单独的页面中进行调试。当游戏结束时,窗口会卡在重新加载中(由微调器显示),因此我认为在Chrome中,允许发出警报阻止页面重新加载,但在其他浏览器中则不允许。