【日常踩坑】Android机微信webview中页面跳转的问题
今天分享一個前端君踩到的小坑,在webapp中,如果我們要代碼實現(xiàn)刷新當(dāng)前頁面的話,相信很多人都習(xí)慣用:
window.location.reload();
使用?.reload()?方法實現(xiàn)刷新頁面,在大部分瀏覽器下是沒問題的。但是在中午測試的同事給我提了一個bug,說在微信上打開使用webapp的時候,刷新頁面的功能失效,并沒有重新加載整個網(wǎng)頁。?
這么簡單的一行代碼也會有bug??一臉懵逼的我第一反應(yīng)是這樣的:
嚇得我趕緊看了下相關(guān)的文檔介紹。?
?.reload()? 是重新加載當(dāng)前文檔,如果該方法沒有規(guī)定參數(shù),或者參數(shù)是 false,它就會用 HTTP 頭 If-Modified-Since 來檢測服務(wù)器上的文檔是否已改變。 如果文檔已改變, ?.reload()?會再次下載該文檔。如果文檔未改變,則該方法將從緩存中裝載文檔。
這與用戶單擊瀏覽器的刷新按鈕的效果是完全一樣的。如果把該方法的參數(shù)設(shè)置為 true,那么無論文檔的最后修改日期是什么,它都會繞過緩存,從服務(wù)器上重新下載該文檔。
可是,對于安卓手機微信中的瀏覽器,?.reload()?只是從緩存中裝載文檔。
針對安卓微信上webview的這種情況,我們解決的辦法是用?window.location.href?,并在url后面加個時間戳,告知安卓手機微信webview這是一個新的請求,你不要再去緩存那里拿了,去服務(wù)器重新加載整個文檔吧。
window.location.href =
location.href+'?time='+((new Date()).getTime());
日常小坑,先踩為敬!我在想后續(xù)要不要收集一下大家踩坑的血淚史,出一個《前端開發(fā)踩過的那些坑》系列?
有小伙伴問typescript什么時候繼續(xù)更新。最近事太多,忙了點,后面前端君會把教程進度趕上,謝謝大家的反饋。
熱門文章
擴展閱讀
?原創(chuàng)教程:《ECMAScript 6 教程》
?原創(chuàng)教程:《Vue2.0基礎(chǔ)教程》
?原創(chuàng)教程:《Vue2.0進階教程》
?附加習(xí)題:《ECMAScript 6 教程》的 2套
?附加習(xí)題:《Vue2.0基礎(chǔ)教程》的 1 套
聊聊職場
?職場感悟:混口飯吃,談不上喜歡
?感到迷茫:我很努力,但依然很迷茫
?薪資待遇:那么低工資,能招到人嗎
?搞笑黑話:互聯(lián)網(wǎng)公司黑話,搞笑到爆
?
資源推薦
其實學(xué)好技術(shù)并不難,架構(gòu)師免費分享全網(wǎng)全套最新web前端、JavaScript、HTML5、PHP、數(shù)據(jù)庫……等視頻資料!
[總價值超3萬!]年薪35萬以上的大牛幾乎都看了!
加微信:?abc15689893?免費領(lǐng)取,由于領(lǐng)取的朋友比較多,所以加微信時一定要備注:555,否則很難通過。
?
總結(jié)
以上是生活随笔為你收集整理的【日常踩坑】Android机微信webview中页面跳转的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [云炬python3玩转机器学习]4-7
- 下一篇: 第三节:快速编译TypeScript,提