javascript - 如果我在代码中犯了一个错误并导致 javascript 中的无限循环并且它一直在调用 alert(),是否有办法停止循环?

标签 javascript firefox alert

有时我使用调试代码来警告 javascript 中的某些内容(例如,匹配正则表达式中的内容),但忘记了修饰符并且警告处于无限循环中(或者如果循环与模式匹配 300 次)。如果使用 Firefox,警告会不断出现,甚至无法关闭选项卡、窗口或应用程序。

如果我强制退出,它会关闭所有选项卡,甚至关闭 Firefox 的其他窗口......实际上有没有办法更优雅地停止循环?

最佳答案

简短的回答是:不。

这是使用 Firebug 和 console.log 函数的一个很好的理由。具有讽刺意味的是,这会导致“停止脚本,因为它正在运行对话框”在某些情况下不显示,这意味着您马上就回到了现在的位置。

Chrome 和 Opera 有这个功能。 IE 没有,Apple Safari 也没有。

不是 native 解决方案,但您可以尝试这个 grease-monkey 脚本:http://www.tumuski.com/2008/05/javascript-alert-cancel-button/

此外,您可以简单地覆盖警报功能以使用确认对话框来代替,并在取消确认时停止显示警报:

var displayAlerts = true;

然后:

function alert(msg) {
  if (displayAlerts) {
     if (!confirm(msg)) {
       displayAlerts = false;           
     }
  }
}

关于javascript - 如果我在代码中犯了一个错误并导致 javascript 中的无限循环并且它一直在调用 alert(),是否有办法停止循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/894530/

相关文章:

javascript - 在 Firefox 中使用百分比时,jQuery 动画无法正确计算位置

javascript - 同一 View 中的 UI-Router 路由(查看和编辑)

javascript - 如何监控 Neo4j 的连接问题?

html - Firefox 与 Webkit 浏览器上的滚动问题 - 侧边导航、文本截断和滚动

javascript - JS : What's wrong with this? 尝试单击链接以弹出 window.prompt

javascript - JS 在 Firefox 中不起作用

javascript - 如何为背景网格实现每行删除

css - 动画 css3 不适用于 Firefox 和 IE

firefox - 对抗 Fuckip IP 匿名 FireFox 插件

python - 如何使用 Python + Selenium 从警告框中读取文本