如何知道模式框(警报,提示,确认…)是否已在javascript中被禁用?

我有一个基于私人网络的应用程序,有时我真的向用户询问他们在特定情况下想做什么.为此,我正在使用 javascript的确认功能.

与任何其他模式框一样,在几次弹出窗口之后,用户可以选择通过单击如下所示的小框来禁用它们:

问题是,如果他们点击一次,他们永远不会看到其他消息和确认的响应假定为0,这是令人困惑的,因为基本上它意味着所有需要确认的操作都会被取消而不会发出警告!刷新页面没有帮助,他们必须关闭它并重新打开它才能再次工作.

我可以检测他们检查那个小盒子的时间吗?

解决方法

选中该框后,对话框将立即“关闭”.您可以检查该框是否异常快速关闭
function dialog(message,success,failure) {
    var open_time = new Date();
    var result = alert(message);
    var close_time = new Date();

    if (close_time - open_time < 10) {
        failure();
    } else {
        success(result);
    }
}

dialog('Hello',function(result) {
    // The dialog probably was closed by the user
},function() {
    // The dialog was closed really fast.
    // Either the user was typing while it popped up or the browser didn't
    //  display it in the first place
});

虽然只是使用CSS和HTML来创建模态对话框,但在浏览器和平台之间可能会更容易和更一致.我个人不喜欢Chrome的方法.

演示:http://jsfiddle.net/tS9G6/4/

我看了一下Chromium的来源,并且该属性没有存储在任何地方,因此似乎没有一些特定于Chromium的属性可供您查看.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...