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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM