zoukankan      html  css  js  c++  java
  • IOS微信后台运行时候倒计时暂停问题

    链接: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)
                    
                }
  • 相关阅读:
    OpenCV 环境搭建( Win7 32位 / VS2010 / OpenCV2.4.8 )
    OpenCV 简介
    计算机视觉简介
    使用 sigaction 函数实现可靠信号
    可靠信号机制
    信号机制的两个思考
    信号的接收和处理
    【angular5项目积累总结】列表多选样式框(1)
    数组相关方法积累(vueag等特别常用)
    Angular 4+ 修仙之路
  • 原文地址:https://www.cnblogs.com/ovocake/p/8425580.html
Copyright © 2011-2022 走看看