参考:https : //superuser.com/questions/92617/stop-never-ending-popup-alerts-in-firefox
Firefox尤其成问题...
警告!警告!不要运行这个!
javascript:
while (true) alert("irritated and exhausted - yet?");
这将“无限”进行,并且不会耗尽内部超时,因为脚本不会足够快地消耗CPU时间。在FF 11中,这保证不会有“无响应脚本”堕胎机会。
在早期的浏览器版本中,通过手动干预,可以优雅地停止令人反感的脚本,这很简单,而不会破坏整个浏览器。没有这种控制是浏览器软件设计的主要缺陷。需要不合理的灵巧性和反射性才能影响参考文献中描述的“解决方案”的手动运动机制。
注意:脚本可能会“无限”无超时且无警报类型提示。这些特别有害和烦人。基本上,脚本运行得足够慢,因此CPU时间周期分配为20秒。在超时之前,通过暂停执行并等待事件触发器恢复,从而延长了几分钟或几小时或...。与其对CPU周期进行计时,不如让脚本在现实世界的时钟上超时更好。(您是否曾经注意到过如何无法中止试图检索内容的脚本-但未成功-用于构建页面?在FF中,地址栏按钮reload和cancel/stop都被禁用,尽管至少可以关闭该选项卡。)普通javascriptTimeout()和setInterval() 呼叫不受此影响,并且受到限制,以便在挂起时可以手动干预“优雅地”中止呼叫。
经验观察的测试环境:
window.navigator.userAgent=
Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:11.0) Gecko/20100101 Firefox/11.0
PS。剧本
for (i=1; i > 0; ++i);
当i超过允许的最大值时,将最终陷入溢出错误。