Safari在测试期间陷入无限循环 - 任何出路?

时间:2010-11-08 17:00:03

标签: safari infinite-loop infinite

我希望有人可以在这里帮助我 - 我正在测试一些javascript并在while循环中发出警报以显示某些变量是如何变化的,但是......我把它放在错误的行中并且现在Safari (在Mac上)只是循环警报。有没有办法在没有强制退出应用程序的情况下阻止它(我不想这样做,因为我打开了其他窗口)。

9 个答案:

答案 0 :(得分:8)

我可以通过点击&#34关闭标签; OK"在警报(或按Enter)然后立即按Command-W。注意:需要多次尝试才能使时机恰到好处。

然后,在我的情况下,会弹出一个确认提示,询问我是否确定要离开页面。然后,循环警报弹出顶部。因此,我将循环警报置于确认警报之上,以便" OK"循环警报的按钮直接在" OK"确认提醒按钮。然后,我在" OK"上双击(非常快)。按钮(您也可以尝试双击输入。)关闭两个警报。

答案 1 :(得分:2)

抱歉,但没有。解决这个问题的唯一方法是,如果您可以关闭警报之间的特定选项卡,但如果它们在关闭框后立即弹出,那么您无能为力。

答案 2 :(得分:2)

我刚刚在OS X Lion的Safari 5.1上遇到过这种情况。经过很多谷歌搜索我无法找到答案。我做了一些挖掘并找到了解决方案:

  1. 强制退出Safari
  2. 打开目录〜/ Library / Safari / Extensions
  3. 删除您的扩展程序
  4. 打开Safari
  5. 我知道很久以前就问过这个问题了,但这是Google首次将“Safari扩展卡在无限循环中”的结果,所以我认为值得更新。

答案 3 :(得分:2)

顺便说一下,FireFox会自动提示你重复的弹出窗口,你可以说“不”。为什么Safari不这样做?

我已经尝试了很多方法来阻止它在Safari中。你在这里讨论的问题也是网页的一个非常愚蠢的漏洞,他们使用pageUnload事件来捕获用户对话框。

你必须强行退出。但是,再次打开Safari时按住Shift键可以防止加载最后一页。或者,重新发布/重新保存您的代码,以便在Safari加载页面时,您首先不会遇到此问题。

将来,请勿使用alart()查看此类信息,只需将其写入您网页上的空div即可。

在jQuery中,在循环代码中执行此操作:

$('#testDiv').html('myVarA = ' + myVarA + ' myVarB = ' + myVarB + '<br>');  //write variables to test div.

 $('#testDiv').append('myVarA = ' + myVarA + ' myVarB = ' + myVarB + '<br>');  //append variables to test div, with a line break.

并将其添加到您的页面:

<div id="testDiv">Test Results Here</div>

通过将变量写入DIV,您不仅可以观察变量,还可以避免弹出循环,并且您将能够正常地与动态页面进行交互。根据需要使用“html”或“append”。

答案 4 :(得分:1)

我遇到了同样的问题。 我用编辑器编辑了一个文件并连接到ftp。然后我在safari中打开了一个标签并测试了该文件 - &gt;我被困在一个无限的警报循环中。所以,我做了什么(这个解决方案只会在相关文件在线而非本地时才起作用)

  • 强制退出野生动物园(野生动物园设置必须记住 标签)
  • 关闭WLAN连接
  • 打开浏览器,关闭“无限循环导致”选项卡,然后再次退出safari
  • 开启WLAN,打开浏览器 fin

答案 5 :(得分:0)

在Google Chrome上试试这个。它们与Safari具有相同的浏览器引擎。如果他们遇到这个问题,他们必须尽早解决。 Apple为什么没有与谷歌沟通解决这个问题呢?

您需要在两个浏览器中查看的request.server变量是HTTP_USER_AGENT

答案 6 :(得分:0)

在这里添加我之前的评论是request.server变量变量HTTP_USER_AGENT的结果:

铬:

Mozilla / 5.0(Windows NT 6.1)AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 31.0.1650.63 Safari / 537.36

Safari浏览器:

Mozilla / 5.0(Windows NT 6.1)AppleWebKit / 534.57.2(KHTML,与Gecko一样)Version / 5.1.7 Safari / 534.57.2

您可能会注意到正在使用的AppleWebkit的不同之处。就像我说的那样,谷歌有这个问题并解决了它,或者苹果公司让这个漏洞在它的浏览器的更新版本中蔓延。需要我说更多吗?

答案 7 :(得分:0)

HALELUYAH我感觉像个傻瓜。这也发生在我身上。快速修复:右键单击警告框,将其移至右上角,并将(x)按钮与浏览器窗口对齐。双击。它会再弹出一次,但再次按下(x)并关闭它。在Windows上工作。

答案 8 :(得分:0)

我刚刚陷入Safari 8(优胜美地)的无限循环中。杀死Safari没有帮助,因为当Safari再次启动时,选项卡会重新打开。

关闭Safari,删除~/Library/Safari/LastSession.plist并再次启动Safari。没有先前的标签重新打开,问题解决了!