使用微信內(nèi)嵌H5網(wǎng)頁解決JS倒計時失效問題
項目要求:將H5商城頁面嵌套到公司微信公眾號里
項目本身的開發(fā)跟移動端網(wǎng)頁并無太多差異,只是這昨天遇到一個問題,說是棘手,到也簡單。
用戶下單后,在選擇支付方式頁面,有個倒計時的邏輯(從下單時開始計算,24小時后未支付,會有ws自動取消這個訂單),js代碼如下:
<script type="text/javascript"><br> var timespan = '20160113'; //后臺程序生成24小時時間差值,這里隨便寫寫 var timer; function UpdateTime() { if (timespan > 0) { var hour = Math.floor(timespan / (60 * 60)); var minute = Math.floor((timespan - (hour * 60 * 60)) / 60); var second = (timespan - (hour * 60 * 60) - (minute * 60)); var word = "支付剩余時間" + (hour<10?("0"+hour):hour) + ":" + (minute<10?("0"+minute):minute) + ":" + (second<10?("0"+second):second) + ",逾期訂單將自動取消~"; timespan--; jQuery(".tc").html("<i class='time'></i>" + word); timer = setTimeout("UpdateTime()", 1000); } else { $('.content').find('.w_op').hide(); clearTimeout(timer); jQuery(".tc").html("<i class='time'></i>" + "訂單過期,已自動取消~"); window.location.href='@Url.Action("orderDetail", "Order", new { OrderNumber = Model.No })';; //訂單過期,跳轉(zhuǎn)到訂單詳情頁 } } jQuery(document).ready(function () { UpdateTime(); });<br></script>
頁面效果如下:
這樣寫,本來沒有任何問題的,而且本地測試都ok。
可是,放到外側(cè)的時候,問題就來了。安卓版微信,會出現(xiàn)當手機鎖屏時,出現(xiàn)倒計時沒有走,仍然是關(guān)閉屏幕前時間,也就是說息屏這段時間,時間靜止了...
后來,后來當然不能著急啊,各方求救,尋找方法,于是有了下面:
倒計時的實現(xiàn),在第一次進入頁面時,請求服務(wù)器獲取倒計時的剩余時間,然后在頁面通過js等手段再倒計時;手機在鎖屏后再解鎖后倒計時還在進行但是倒計時的時間不準確,究其原因是在解鎖后沒有去請求服務(wù)器的時間來重新倒計時而是還是按照上次鎖屏的基礎(chǔ)上進行倒計時的,這是因為瀏覽器有緩存,在不刷新頁面的情況下,瀏覽器會緩存第一次請求的內(nèi)容,服務(wù)端更新后瀏覽器仍然顯示第一次的內(nèi)容
后來多方查證,可以在meta里進行設(shè)置,設(shè)置頁面nocache,每次訪問次頁面,均需要從服務(wù)器重新獲取,而不是使用緩存中讀取
expires設(shè)定過期時間,一旦過期就必須請求服務(wù)器,
expries出現(xiàn)在http-equiv屬性中,使用content屬性表示頁面緩存的過期時間
expries=0,緩存過期前的分鐘數(shù)。若用戶在頁面過期前返回該頁面,就會顯示緩存的版本頁
<meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0">
以上所述是小編給大家介紹的使用微信內(nèi)嵌H5網(wǎng)頁解決JS倒計時失效問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
js實現(xiàn)瀑布流效果(自動生成新的內(nèi)容)
本文主要介紹了js實現(xiàn)瀑布流效果:當滾動條接近底部會自動生成新的內(nèi)容。具有很好的參考價值。下面跟著小編一起來看下吧2017-03-03bootstrap響應(yīng)式導航條模板使用詳解(含下拉菜單,彈出框)
這篇文章主要為大家詳細介紹了bootstrap響應(yīng)式導航條模板使用詳解,含下拉菜單,彈出框效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-11-11微信小程序?qū)崿F(xiàn)購物車選擇規(guī)格顏色效果
這篇文章主要為大家詳細介紹了微信小程序?qū)崿F(xiàn)購物車選擇規(guī)格顏色選中效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01js prototype 格式化數(shù)字 By shawl.qiu
js prototype 格式化數(shù)字 By shawl.qiu...2007-04-04