关于移动端浏览器定时器后台停止运行的问题
今天在做微信浏览器端的商城项目的时候遇到了一个问题,具体场景是这样的:在页面添加了一个定时器,某项数据每秒递减,当手机锁屏或者后台运行时再返回页面,发现定时器在后台运行时停止了,返回才继续开始运行。
解决方法:
这里我是用的是一个H5的一个PageVisibility API,在这里,我们可以得到两个属性及其参数,用来表示当前页面是否可见:
- document.visibilityState:hidden/visiable/preview
- document.hidden:true/false
对于我的问题,我是这样解决的
document.addEventListener('visibilitychange',function() {
if(document.visibilityState=='visible') {
location.reload(