IOS微信后台运行时候倒计时暂停问题

2018-02-07 11:37:12来源:cnblogs.com作者:一只迷路精灵人点击

分享

链接:https://pan.baidu.com/s/1i7cSkqL 密码:g80i

  最近给央视做了个H5答题游戏,但在倒计时上遇到一个终端问题:手机端按Home键将微信收入后台之后,IOS11 会继续跑JS五秒钟,注意是5秒,也就是倒计时9的时候收到后台,等1分钟再打开,JS会从4开始倒计时。 听说IOS6的时候能跑10分钟,IOS7有3分钟,IOS11只有5秒....但TM就是个BUG,得改啊(PS,安卓10s能正常跑,我也没试过能跑几秒,也许这就是安卓软件开多了卡爆的原因)。我的选择是获取当前时间戳来解决这个问题,具体代码分析如下:

  

      function Time_a() {                var time = 10;                $(".time").text(time);                var t = setInterval(function() {                    if(time == 0) {                        clearTimeout(t);                    } else {                        time--;                        $(".time").text(time)                    }                }, 1000)            }

  当用time--;来倒计时的时候,在IOS11上面就会出现倒计时断层。因此我选择使用时间戳,再配合后台的时间限制,就可以解决IOS的后台运行时间限制。

      function Time_b(){                var time=10;                var beginTime=new Date().getTime();                $(".time-a").text(time);                var t= setInterval(function(){                    var newTime=new Date().getTime();                    var dTime=(newTime-beginTime)/1000;                    dTime=parseInt(dTime);                    time = 10-dTime > 0 ? 10-dTime : 0;                    $(".time-a").text(time);                },1000)                            }

最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台