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)">
作者:Joan
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步