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的後臺運行時間限制。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)
            }
相關文章
相關標籤/搜索