运行此示例 http://jsfiddle.net/yxzqY/在我的 Mac 上的 Firefox 上,大约一半的确认提示会显示“阻止此窗口创建更多对话框”复选框。我理解允许用户禁用警报,但确认框是控制流的一部分 - 单击“确定”或“取消”指示下一个事件序列 - 禁用它们会破坏应用程序。
我看到很多应用程序依赖于确认提示,但从未见过 Firefox 或任何其他浏览器这样做(目击者试图删除 StackOverflow 上的问题) - 那么为什么会出现在这里呢?为什么这种情况只是偶尔发生?我们怎样才能防止这种情况发生呢?
最佳答案
据我所知,“阻止进一步的对话框”复选框的标准是在短时间内(在当前版本中可能是五秒左右)向用户连续显示多个对话框Firefox 中的一秒;Chrome 中一两秒)。
在这种情况下添加它的原因是为了防止恶意页面用无休止的对话框序列束缚用户:
while(1) {
alert("Is this annoying yet?");
}
如果您预计您的应用程序将使用大量这样的确认对话框,我建议您使用 DOM 对话框(例如 http://jqueryui.com/demos/dialog/ )而不是 native alert()
或确认()
。
关于javascript - 为什么 Firefox 允许禁用确认框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10725865/