app-ios 內嵌h5的緩存問題


背景:在app中內嵌的h5,部署更新h5項目以后,app中獲取不到最新的代碼資源,頁面無法得到及時更新(除非清空app的應用緩存,但若每次更新h5都需要手動清空緩存,感覺體驗有待優化)

答案是ios自帶的緩存

 

觀察html頁面的請求會走上圖中的4  ,也就是帶了緩存,接着找了nginx配置  但沒看到配置cache-control啥的,很疑惑 難道沒配置會默認自帶緩存嗎,看了web端沒問題,頻繁刷新,每次都能走html頁面的請求,但是在app端  只有第一次走 ,后面就沒有了,猜測應該是ios自己緩存的原因了

 

 但是web端  request headers從沒見過帶if modify since這些,ios說第一次請求,那邊就能看到有 如下圖:

 

 殺掉應用,重打開app,(相當於第二次打開app)就沒有此請求了,看來是被app緩存起來這個頁面了,但是多出了build.json版本號的獲取,

 

 

 

 

解決方案一:

結合前代碼,自動加版本號,達到強制刷新頁面(每打包一次,更改一下version值),app緩存的應該是舊的version,h5部署更新后,build.json版本會更新,從而觸發reload

 

 方案二:

參考:   https://www.cnblogs.com/xiao-ling-zi/p/10883198.html


免責聲明!

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



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