0

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

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

4

1 回答 1

2

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

在这些情况下添加它的原因是为了防止恶意页面将用户与无休止的对话序列捆绑在一起:

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

如果您希望您的应用程序将使用大量这样的确认对话框,我建议您使用 DOM 对话框(例如, http: //jqueryui.com/demos/dialog/)而不是原生的alert()confirm().

于 2012-05-23T18:47:13.927 回答