ios系统屏幕休眠或后台运行倒计时暂停问题

Posted Mr.Nut

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios系统屏幕休眠或后台运行倒计时暂停问题相关的知识,希望对你有一定的参考价值。

    最近在做移动端获取验证码倒计时问题,发现了一个问题,就是在屏幕休眠或者该程序切换到后台 的时候,ios系统倒计时会暂停,但是在使用中的时候这个绝对算是一个bug。我的选择是获取当前时间戳来解决这个问题,具体代码分析如下:

    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)
            }

 

 



以上是关于ios系统屏幕休眠或后台运行倒计时暂停问题的主要内容,如果未能解决你的问题,请参考以下文章

在手机休眠时运行计时器

在后台运行ios应用

iOS 保证定时器进入后台依然运行

如果我锁定屏幕或 iPhone 开始休眠,但我从未退出应用程序,那么该应用程序是不是仍被视为后台运行?

Android 后台任务执行

JS 倒计时问题,手机网页后台运行时,js会暂停