会话超时警告和到期计时器

我已经使用javascript编写了用于会话超时的代码,其工作正常,还显示了警报弹出窗口和到期时间正常 但是鼠标移动或按键重置计时器时出现一个错误,重置后的时钟显示为两倍,倍数........ 请帮助解决此错误,我的代码在这里

会话超时

您将在1分钟内自动退出。
要保持登录状态,请将鼠标移到该窗口上。

申请将在01:00分钟后退出!
<script type="text/javascript">
    // Set timeout variables.
    var timoutWarning = 60000; //60000 Display warning in 1 Mins.
    var timoutNow = 120000; // Timeout in 1 mins.
    var logoutUrl = '/Logout.aspx'; // URL to logout page.

    var warningTimer;
    var timeoutTimer;

    // Start timers.
    function StartTimers() {
        warningTimer = setTimeout("IdleWarning()",timoutWarning);
        timeoutTimer = setTimeout("IdleTimeout()",timoutNow);

    }

    // Reset timers.
    function ResetTimers() {
         clearTimeout(warningTimer);
         clearTimeout(timeoutTimer);
         StartTimers();
         $("#timeout").dialog('close');
    }


    $(this).mousemove(function (e) {
        ResetTimers();
    });
    $(this).keypress(function (e) {
        ResetTimers();
    });


    // Show idle timeout warning dialog.
    function IdleWarning() {
        $("#timeout").dialog({
            modal: false
        });

        var fiveMinutes = 60 * 1,display = document.querySelector('#time');
        startTimer(fiveMinutes,display);
        document.getElementById('dv_time').style.display = "block";

    }

    // Logout the user.
    function IdleTimeout() {
        window.location = logoutUrl;
    }

    //***************************

    function startTimer(duration,display) {
        var timer = duration,minutes,seconds;
        setInterval(function () {
            minutes = parseInt(timer / 60,10);
            seconds = parseInt(timer % 60,10);

            minutes = minutes < 10 ? "0" + minutes : minutes;
            seconds = seconds < 10 ? "0" + seconds : seconds;

            display.textContent = minutes + ":" + seconds;

            if (--timer < 0) {
                timer = duration;
            }
        },1000);
    }

lsw8142 回答:会话超时警告和到期计时器

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2830491.html

大家都在问