本人用微信公眾號開發時,使用的html5頁面,頁面使用js或css文件方法修改了,但是更新到微信公眾號上面總是看不到效果,后面在網上找了原因,發現微信是使用內置瀏覽器,會自動幫我們緩存數據,導致更新不及時或沒有效果。
經過網上搜索清除微信內置瀏覽器緩存方法,具體如下
1)使用鏈接 https://debugx5.qq.com(適用於安卓端,適合開發者測試使用)
2)使用微信設置清除(我-->設置-->通用--> 存儲空間-->緩存-->清理) (安卓端有時可以,有時不行;蘋果端清除緩存會把微信視頻、圖片清除,不合理)
3)在html5添加meta標簽,取消使用緩存(原理:配合 meta禁用緩存標簽,實現禁用瀏覽器緩存,自動刷新
) 經測試,微信公眾號上面不起作用
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" /> <meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Expires" content="0" />
4)在請求頁面的url或資源文件添加隨機版本號(原理:讓微信瀏覽器以為是新資源文件,每次都會更新緩存)(經測試,在微信公眾號上面不去作用)
<script src="./js/orderForm.js?v="+ Math.random() +""></script> <link rel="stylesheet" href="./css/orderForm.css?v="+ Math.random()+"" />
5)在請求頁面Html標簽添加不存在manifest文件鏈接(原理:根據HTML5 W3C規范,解析器下載manifest header 404/410時,緩存即失效) 已測試,無效
<html manifest="IGNORE.manifest">
6)更改引用的資源文件名稱(原理:每次頁面更新,都是一個新的js、css文件版本) (若以上方法還是不能解決,可以最后嘗試,無奈之舉)
<script src="./js/orderForm_210820.js“></script> <link rel="stylesheet" href="./css/orderForm_210820.css" />
總之,微信內置瀏覽器緩存機制好坑啊、好坑啊、好坑啊
參考網址:
https://blog.csdn.net/xialong_927/article/details/88687080
https://www.jianshu.com/p/3f8e1209aad2