让javascript计时器不断运行(用于会话检查)是不是很糟糕?

Tod*_*nce 2 javascript session timer

我正在考虑创建一个1分钟的会话注销警告消息.

为此,我假设我需要一个在后台不断运行的javascript计时器.

这是一种可怕的资源使用来经常像这样运行计时器还是小到不重要?

Mat*_*and 6

你不需要一个持续运行的计时器,你只需要使用setTimeout设置1分钟.如果您认为这应该是一个非活动计时器,那么您需要做的就是清除它clearTimeout并在用户执行某些操作时重置它.

你可以这样做:

var timerID;

function startTimer() {
    clearTimeout(timerID);
    timerID = setTimeout(function() {
        // Put your warning or auto logout here
    }, 60000);
}

function UserIsDoingSomething() {
    clearTimeout(timerID);
    // do something....
    startTimer();
}
Run Code Online (Sandbox Code Playgroud)

  • 可能还想考虑鼠标停止以支持只使用键盘或触摸的用户. (2认同)