我希望有人可以在这里帮助我-我正在测试一些javascript并在while循环中发出警报以显示某些变量是如何变化的,但是...我把它放在了错误的行中,现在是Safari(在Mac)只是循环警报。有没有办法在不强制退出应用程序的情况下停止它(我不想这样做,因为我打开了其他窗口)。
9 回答
我可以通过单击警报上的“确定”(或按 Enter)然后立即按 来关闭选项卡Command-W
。注意:为了让时机恰到好处,我们尝试了几次。
然后,就我而言,弹出一个确认警报,询问我是否确定要离开该页面。然后,循环警报弹出在顶部。因此,我将循环警报放置在确认警报的顶部,以便循环警报的“确定”按钮直接位于确认警报的“确定”按钮上方。然后,我双击(非常快)“确定”按钮(您也可以尝试双击回车。)以关闭两个警报。
对不起,不行。解决此问题的唯一方法是,如果您可以在警报之间关闭特定选项卡,但如果它们在关闭框后立即弹出,那么您无能为力。
我刚刚在 OS X Lion 的 Safari 5.1 上遇到了这种情况。经过大量谷歌搜索后,我无法找到答案。我做了一些挖掘并找到了解决方案:
- 强制退出 Safari
- 打开目录 ~/Library/Safari/Extensions
- 删除您的扩展程序
- 打开 Safari
我知道这个问题很久以前就被问过了,但这是谷歌上“Safari 扩展卡在无限循环中”的第一个结果,所以我认为值得更新。
顺便说一句,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”。
我只是有同样的问题。我用编辑器编辑了一个文件并连接到 ftp。然后我在 safari 中打开了一个选项卡并测试了文件 -> 我陷入了无限警报循环。所以,我做了什么(这个解决方案只有在相关文件在线而不是本地的情况下才有效)
- 强制退出 safari(safari 设置必须放在记忆标签中)
- 比关闭 WLAN 连接
- 打开浏览器,关闭“导致无限循环”选项卡,然后再次退出 safari
- 打开WLAN,打开浏览器,fin。
在谷歌浏览器上试试这个。它们具有与 Safari 相同的浏览器引擎。如果他们有这个问题,他们一定很早就解决了。为什么苹果公司没有人不与谷歌沟通来解决这个问题?
您需要在两个浏览器中查看的 request.server 变量是 HTTP_USER_AGENT
要添加到我之前的评论,这里是 request.servervariable 变量 HTTP_USER_AGENT 的结果:
铬合金:
Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
苹果浏览器:
Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.57.2 (KHTML, like Gecko) 版本/5.1.7 Safari/534.57.2
您可能会注意到所使用的 AppleWebkit 的不同之处。就像我说的那样,要么是谷歌遇到了这个问题并解决了它,要么是苹果让这个错误在它的浏览器的更高版本中蔓延。需要我多说?
哈利路亚我觉得自己像个白痴。这也发生在我身上。快速修复:右键单击警告框,将其移动到右上角并将(x)按钮与浏览器窗口的按钮对齐。双击。它会再弹出一次,但再次按下 (x),它将关闭 safari。在 Windows 上工作。
我刚刚在 Safari 8 (Yosemite) 中陷入无限循环。杀死 Safari 并没有帮助,因为再次启动 Safari 时选项卡会重新打开。
关闭 Safari,删除~/Library/Safari/LastSession.plist
并再次启动 Safari。没有以前的标签重新打开,问题解决了!