IOS微信後臺運行時候倒計時暫停問題

来源:https://www.cnblogs.com/ovocake/archive/2018/02/07/8425580.html
-Advertisement-
Play Games

鏈接:https://pan.baidu.com/s/1i7cSkqL 密碼:g80i 最近給央視做了個H5答題游戲,但在倒計時上遇到一個終端問題:手機端按Home鍵將微信收入後臺之後,IOS11 會繼續跑JS五秒鐘,註意是5秒,也就是倒計時9的時候收到後臺,等1分鐘再打開,JS會從4開始倒計時。 ...


鏈接: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)
                
            }

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前段時間開發中,遇到一個父元素和子元素都有事件時,發現會出現事件冒泡現象,雖然知道ev.stopPropagation()和ev.stopPropagation()其中一個是阻止事件冒泡,卻不知ev.preventDefault()和ev.stopPropagation()以及return fals ...
  • /* 定義替換對象鍵值 */var setReferArgs = function(){ var referArgs = new Object(); referArgs['#userID\#'] = userId; referArgs['\#userName\#'] = userName; retu ...
  • 形狀 一 自適應的橢圓 1.難題 1> 圓 你可能註意到過, 給任何正方形元素設置一個足夠大的border-radius, 就可以把它變成一個圓形。所用到的CSS 代碼如下所示: *當任意兩個相鄰圓角的半徑之和超過border box 的尺寸時,用戶 代理必須按比例減小各個邊框半徑所使用的值,直到它 ...
  • 今天學習了tab選項卡切換。 js代碼: 1 <script> 2 var lis = document.querySelectorAll("#tab-title li"); 3 var i = 0, len = lis.length; 4 for (; i < len; i++){ 5 var l ...
  • 一、語法 transition: property duration timing-function delay transition屬性是個複合屬性,她包括以下幾個子屬性: transition-property :規定設置過渡效果的css屬性名稱 transition-duration :規定完 ...
  • 1:定義:javascript是一種弱類型、動態類型、解釋型的腳本語言。 弱類型:類型檢查不嚴格,偏向於容忍隱式類型轉換。 強類型:類型檢查嚴格,偏向於不容忍隱式類型轉換。 動態類型:運行的時候執行類型檢查。 靜態類型:編譯的時候就知道每個變數的類型。 解釋型:程式不需要編譯,程式在運行的時候才翻譯 ...
  • 本文最初發表於 "博客園" ,併在 "GitHub" 上持續更新 前端的系列文章 。歡迎在GitHub上關註我,一起入門和進階前端。 以下是正文。 CSS3介紹 CSS3在CSS2基礎上, 增強 或 新增 了許多特性, 彌補了CSS2的眾多不足之處,使得Web開發變得更為高效和便捷。 CSS3的現狀 ...
  • 概要 字典是用來存儲不重覆key的Hash結構。不同於集合(Set)的一點,字典使用的是[key,value]的形式來存儲數據。 JavaScript的對象(Object:{})只能用字元串當做key。使用起來有一定限制。 為瞭解決這個問題,ES6提供的Map數據結構。它類似與對象,也是[key,v ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...