有时我使用调试代码来警告 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/