最近再写一个考试系统,到点交卷,在手机上跑定时器是没问题的,在浏览器上跑的时候,一离开页面(指切换标签页),再次回来时间就会慢很多
关于浏览器变慢的原因是,当离开当前页面时,cpu检测到你不在当前页面,为了节省资源,会放慢浏览器的时间。导致进入页面,时间变慢。
有没有解决办法呢,当然是有的,如果我们可以监听进出页面,那么我们进入页面的时候,重启定时器,即修正时间,那么就不会有问题了
document.addEventListener("visibilitychange", function() {
if (document.hidden === true) {
// 页面被挂起
console.log('离开');
clearInterval(that.timerll);
} else {
clearInterval(that.timerll);
that.time()
console.log('进入');
}
});
使用以上代码,即可解决浏览器中定时器变慢的问题