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)">