关于讨厌的浏览器缓存问题尤其是safari浏览器缓存

最近在开发一个小项目,由于之前是和java后台配合的,这次开发换成PHP了,我这个数据交互的头疼啊,数据交互什么的就不说了,改天有时间再说,今天主要说下怎么禁止浏览器缓存你的html页面,之前一直没在意这个问题,但是这次开发的时候真的是遇到了这个,也问了不少朋友,但是他们都是用的大型的框架处理过缓存的,在此如果你的框架没处理过缓存,可以试下我以下的办法,我也是百度总结来的,在此只介绍前端清除浏览器缓存,方法如下:

1.在此评价下上边这个方法,很多人推荐使用,但是没卵用,我也不知道为什么推荐,估计是适用于清除大多数浏览器的缓存吧,我就不摸索了

<META HTTP-EQUIV="Pragma" CONTENT="no-cache"> 
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"> 
<META HTTP-EQUIV="Expires" CONTENT="0"> 

2.说是在页面加入这个iframe就可以组织safari缓存你的页面,但是我也试过了,没什么卵用,你们也可以自己去摸索

<iframe src="about:blank" style="width: 0px;height: 0px;visibility: hidden;">this frame prevents back forward cache</iframe>

3.这个方法也是最后一个方法我最后解决问题的办法,下面请看,请在body元素里边添加class=“no-cache”这个类,第三个方法是专门针对清除Safari浏览器缓存的,亲测有效

if (isSafari()) {
$(window).bind("pageshow", function (event) {
if (event.originalEvent.persisted && $('body').hasClass("no-cache")) {
document.body.style.display = "none";
window.location.reload();
}
});
}

function isSafari() {
if (navigator.userAgent.indexOf("Safari") > -1) {
return true;
}
return false;
}

//其实还有一个办法,只是利用页面跳转,不借用浏览器的返回按钮跳转时管用,就是直接跳转到指定html页面,这个是在我不经意间测试出来的,但是无法去除掉safari缓存,大概就这些了

//如果大家有更好的办法可以发表评论,大家一起探讨

转载于:https://www.cnblogs.com/xiaobaiyang/articles/5496749.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值