关于移动端浏览器定时器后台停止运行的问题

本文探讨了在移动端浏览器中定时器在后台停止运行的问题。在微信浏览器的商城项目中,作者发现页面锁屏或后台运行时定时器暂停。为解决此问题,利用PageVisibility API的`visibilityState`和`hidden`属性,通过`visibilitychange`事件监听页面可见性变化,实现后台运行时暂停定时器,前台恢复时继续执行。这种方法适用于安卓和iOS设备,能有效控制页面资源和提高用户体验。
摘要由CSDN通过智能技术生成

关于移动端浏览器定时器后台停止运行的问题

今天在做微信浏览器端的商城项目的时候遇到了一个问题,具体场景是这样的:在页面添加了一个定时器,某项数据每秒递减,当手机锁屏或者后台运行时再返回页面,发现定时器在后台运行时停止了,返回才继续开始运行。

解决方法:
这里我是用的是一个H5的一个PageVisibility API,在这里,我们可以得到两个属性及其参数,用来表示当前页面是否可见:

  • document.visibilityState:hidden/visiable/preview
  • document.hidden:true/false

对于我的问题,我是这样解决的

document.addEventListener('visibilitychange',function() {
   
    if(document.visibilityState=='visible') {
        location.reload(
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值