相信很多人都遇到了safari浏览器的缓存问题。Safari默认会缓存页面的完整状态,当由A页面进入到B页面后,然后点击浏览器的后退按钮退回A页面,这会后safari会直接从cache中读取页面。在绝大多数情况下,这种行为是有很好的用户体验的,但是在某些情况下,我们不希望浏览器读取缓存的页面,比如一些银行,金融,支付系统,需要实时的读取数据。那么如何解决这个问题呢?
在iphone,ipad,ipod下强制页面reload
if (/(iPhone|iPad|iPod)/i.test(navigator.userAgent)) {
$(window).bind("pageshow", function (event) {
if (event.originalEvent.persisted) {
window.location.reload();
}
});
}
参考:
【1】http://www.aichengxu.com/view/47210
【2】 http://www.cnblogs.com/qingliuyu/archive/2012/05/03/2481305.html
补充:
还可以使用 location.replace(url) 禁止后退
本文介绍了如何解决Safari浏览器的缓存问题,特别是在需要实时更新数据的应用场景中,如银行、金融等系统。提供了针对iOS设备的具体JavaScript代码实现,确保页面能够强制刷新而非加载缓存内容。

7028

被折叠的 条评论
为什么被折叠?



