javascript - 如何取消 JavaScript 对话?

标签 javascript timer dialog timeout block

如果一段时间内没有任何事件,我想将用户从页面中踢出。

提示会阻止计时器(因此页面将一直显示,直到处理提示为止)。

如何取消提示(或绕过它,这样如果提示框中没有输入,计时器就会踢用户)?

<小时/>
var timeoutTimer = null;
var kickoutTimer = null;

timeoutTimer = setTimeout(function(){timeoutInfo()},10000);

function timeoutInfo()
{
    kickoutTimer = setTimeout(function(){kickout()},10000);

    var kickresponse = prompt('you will be kicked out soon - stop it? enter YES','');
    if( kickresponse == 'YES')
    {
        clearTimeout(kickoutTimer);
        alert('stopped');
    }
    else
    {
        kickout();
    }
}

function kickout()
{
    document.location='kickedout.html';
}

最佳答案

windows.prompt()windows.alert() 阻止 UI 和 Javascript 执行。

您必须使用 Javascript 框架(AngularUI/jQuery UI/jQuery + Bootstrap/...)以 HTML 形式显示对话框,并使用自定义 Javascript 函数来处理超时。

关于javascript - 如何取消 JavaScript 对话?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18248190/

相关文章:

javascript - 为什么除了 `goog.base(this)` 之外还需要 `goog.inherits()` ?

javascript - expressjs 绑定(bind)除 2 个文件夹之外的所有路由?

vba - Excel VBA : How to implement timer to check for code timeout

c# - Timer.Change() 会返回 false 吗?

jQueryUI 对话框/日期选择器自动打开

jQuery - 对话框根据动态内容自动调整大小并保持中心位置

javascript - 引用错误 : function is not defined in javascript

javascript - Jquery 获取选择器

当且仅当任务排队时防止关闭的 Java 计时器

javascript - 如何连续打开对话框而不覆盖