如果用户没有使用浏览器,则jQuery计时器停止
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果用户没有使用浏览器,则jQuery计时器停止相关的知识,希望对你有一定的参考价值。
我正在尝试构建一个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
参数是回调运行前的最短时间,not a guaranteed time。不是在超时中保持运行的总时间,而是存储计时器启动的时间并将其与当前时间进行比较。 Performance.now()
将为您提供以毫秒为单位的准确时间戳。
以上是关于如果用户没有使用浏览器,则jQuery计时器停止的主要内容,如果未能解决你的问题,请参考以下文章