關於討厭的瀏覽器緩存問題尤其是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緩存,大概就這些了

//如果大家有更好的辦法可以發表評論,大家一起探討


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM