iPhone和Safari瀏覽器的後退按鈕操做,是直接載入緩存中的頁面,不會加載js文件,不會執行ready,onload函數,可是加載html頁面會跑pageshow事件,所以有回退動做須要從新加載js的狀況能夠用如下代碼實現:綁定pageshow事件 window.addEventLisener(‘pageshow’, function(){})
function fixSafari(evt){
var str=navigator.userAgent;
var isiPhone=str.indexOf("iPhone")!=-1;
var isSafari=str.indexOf("Safari")!=-1;
if(isiPhone&&isSafari){
evt.persisted&&window.location.reload();
}
}
<body onpageshow="fixSafari(event)">