Javascript 如果用户未使用浏览器,jQuery计时器将停止

Javascript 如果用户未使用浏览器,jQuery计时器将停止,javascript,jquery,ajax,timer,Javascript,Jquery,Ajax,Timer,我试图构建一个jQuery计时器,但当浏览器没有聚焦或最小化时,它就会停止。我的想法之一是,代码可以使用Ajax不断地从服务器中提取数据并更新计时器,但我担心这可能会增加服务器的压力。我想知道是否有任何方法可以检查用户是否在前端使用浏览器,所以代码只需要在用户返回后发送Ajax请求 我的jQuery计时器代码片段 (function timer (offset) { setTimeout(function () { var timestamp = {{ time }};

我试图构建一个jQuery计时器,但当浏览器没有聚焦或最小化时,它就会停止。我的想法之一是,代码可以使用Ajax不断地从服务器中提取数据并更新计时器,但我担心这可能会增加服务器的压力。我想知道是否有任何方法可以检查用户是否在前端使用浏览器,所以代码只需要在用户返回后发送Ajax请求

我的jQuery计时器代码片段

(function timer (offset) {
    setTimeout(function () {
        var timestamp = {{ time }};
        timestamp = 5 * 60 - timestamp - offset;
        var minutes =  Math.floor(timestamp / 60);
        var seconds =  Math.floor(timestamp % 60);
        document.getElementById("timer").innerHTML = minutes + " : " + seconds;
        timer(offset + 0.5);
    }, 500);
})(0);

window.setTimeout
delay
参数是回调运行之前的最短时间。存储计时器启动的时间并将其与当前时间进行比较,而不是保留超时中经过的运行总时间。将为您提供以毫秒为单位的准确时间戳。

您可以检查是否正在尝试构建一个仅显示已用时间的计时器?@AuxTaco yes,显示剩余时间。