微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何知道模式框(警报,提示,确认…)是否已在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的属性可供您查看.

原文地址:https://www.jb51.cc/js/150415.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐