使用html5的Page Visibility API来实现控制,由于浏览器本身切换页面或者缩小带来的定时器延缓,理论上是直接停止,但是实测发现只是延缓,这导致
我们不仅需要控制定时器的开启,还需要控制关闭的时间。
页面缩小或者切换其他窗口下hidden为true,清空定时器,否则开启canvas,由于浏览器一开始虽然为false但是仍然不会。
document.addEventListener('visibilitychange', function() {
if(document.hidden){
//当页面切换或隐藏时触发的代码,可以用来清除定时器
}else{
//当这个页面重新被唤醒的时候触发的代码,可以用来重新触发定时器
}
})