場景是這樣子的,頁面在初始化時有一個ajax請求,在頁面上有一個按鈕,點擊的時候執行window.location.reload(),正常狀況reload()後頁面依然會向後臺發出請求,但在安卓的微信瀏覽器中reoad後請求的一直是第一次打開頁面時請求的數據。能夠理解爲請求被緩存了,但沒有實測,也不知道是不是緩存。ajax
解決方法是,使用window.location.href="window.location.href+隨機數" 代替 window.location.reload()。切記,必定要加隨機數,不然同樣不會起做用。固然也能夠用一個a標籤,而後設置href="window.location.href + 隨機數"。瀏覽器
再進一步的話能夠只針對微信瀏覽器做此設置,那麼就得判斷是否微信瀏覽器。能夠經過window.navigator.userAgent進行判斷,結果是,Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13F69 MicroMessenger/6.3.16。根據關鍵字 MicroMessenger 來判斷是不是微信內置的瀏覽器。判斷函數以下緩存
function isWeiXin(){ var ua = window.navigator.userAgent.toLowerCase(); if(ua.match(/MicroMessenger/i) == 'micromessenger'){ return true; }else{ return false; } }