相信很多人都遇到了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) 禁止后退