我希望有人可以在这里帮助我 - 我正在测试一些javascript并在while循环中发出警报以显示某些变量是如何变化的,但是......我把它放在错误的行中并且现在Safari (在Mac上)只是循环警报。有没有办法在没有强制退出应用程序的情况下阻止它(我不想这样做,因为我打开了其他窗口)。
答案 0 :(得分:8)
我可以通过点击&#34关闭标签; OK"在警报(或按Enter)然后立即按Command-W
。注意:需要多次尝试才能使时机恰到好处。
然后,在我的情况下,会弹出一个确认提示,询问我是否确定要离开页面。然后,循环警报弹出顶部。因此,我将循环警报置于确认警报之上,以便" OK"循环警报的按钮直接在" OK"确认提醒按钮。然后,我在" OK"上双击(非常快)。按钮(您也可以尝试双击输入。)关闭两个警报。
答案 1 :(得分:2)
抱歉,但没有。解决这个问题的唯一方法是,如果您可以关闭警报之间的特定选项卡,但如果它们在关闭框后立即弹出,那么您无能为力。
答案 2 :(得分:2)
我刚刚在OS X Lion的Safari 5.1上遇到过这种情况。经过很多谷歌搜索我无法找到答案。我做了一些挖掘并找到了解决方案:
我知道很久以前就问过这个问题了,但这是Google首次将“Safari扩展卡在无限循环中”的结果,所以我认为值得更新。
答案 3 :(得分:2)
我已经尝试了很多方法来阻止它在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;我被困在一个无限的警报循环中。所以,我做了什么(这个解决方案只会在相关文件在线而非本地时才起作用)
答案 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。没有先前的标签重新打开,问题解决了!