使用重置循环注销超时

时间:2009-09-24 17:59:49

标签: php jquery

我正在尝试在现有PHP应用程序中实现自动超时。

我的目标是让系统在自动超时设置发生前15秒通知用户,并让他们有机会“重置”超时计时器。

我正在使用jQueryUI位作为所有这些的一部分。

This chart may help describe what I'm trying to do.

我有一个工作计时器和通知。我正在寻找的是循环 获取提示进行自动注销 - >取消自动退出 - >重启计时器 - >获取提示进行自动注销。 (这是我图表上的红色。)

我有什么好的,现有的选择吗?

这是我到目前为止所拥有的,但我认为我被卡住了......

window.setTimeout(function() {
    $('#timeOutNoticeMsg').css('color', '#000000');
    $("#timeOutDialog").dialog({ 
        bgiframe: true,
        modal: true,
        resizable: false,
        draggable: false,
        buttons: { 
            "Cancel Logout": function() { 
                $(this).dialog("close"); 
                window.clearTimeout(timeoutHandle);
            }
        },
    });
},  103000);

var timeoutHandle = window.setTimeout(function() {
    window.location.href = 'logout.php?w=1';
}, 115000);

1 个答案:

答案 0 :(得分:0)

我会在“取消注销”功能中包含一个布尔变量:

       "Cancel Logout": function() { 
            $(this).dialog("close"); 
            window.clearTimeout(timeoutHandle);
            logMeOut = false;
        }

然后使注销函数依赖于该变量:

var timeoutHandle = window.setTimeout(function(logMeOut) {
if( logMeOut == true )
{    
    window.location.href = 'logout.php?w=1';
}, 115000);

请注意,我不是jQuery专家,我不要担保上面的伪代码。自己弄清楚语法。