为什么Firefox允许禁用确认框?

时间:2012-05-23 18:36:27

标签: javascript firefox confirm

在Mac上的Firefox上运行此示例http://jsfiddle.net/yxzqY/,大约一半的确认提示显示“阻止此窗口创建更多对话框”复选框。我理解允许用户禁用警报,但确认框是控制流的一部分 - 单击确定或取消指示下一个事件序列 - 并禁用它们会中断应用程序。

我看到很多依赖于确认提示的应用程序,并且从未见过Firefox或任何其他浏览器这样做(见证试图删除StackOverflow上的问题) - 那么为什么会出现这里?为什么它只是偶尔发生?我们怎样才能防止它发生呢?

1 个答案:

答案 0 :(得分:2)

据我所知,“阻止进一步对话”复选框的标准是用户在短时间内连续出现了多个对话框(当前版本可能是5秒左右) Firefox;在Chrome中一两秒。)

在这种情况下添加它的原因是为了防止恶意页面与无限的对话框序列绑定用户:

while(1) {
    alert("Is this annoying yet?");
}

如果您希望您的应用程序使用大量此类确认对话框,我建议您使用DOM对话框(例如http://jqueryui.com/demos/dialog/)而不是本机alert()或{{1 }}