本文目錄一覽:
如何清除在瀏覽器 中的js緩存文件
關於瀏覽器緩存
瀏覽器緩存,有時候我們需要他,因為他可以提高網站性能和瀏覽器速度,提高網站性能。但是有時候我們又不得不清除緩存,因為緩存可能誤事,出現一些錯誤的數據。像股票類網站實時更新等,這樣的網站是不要緩存的,像有的網站很少更新,有緩存還是比較好的。今天主要介紹清除緩存的幾種方法。
清理網站緩存的幾種方法
meta方法
?
1
2
3
4
//不緩存
META HTTP-EQUIV=”pragma” CONTENT=”no-cache”
META HTTP-EQUIV=”Cache-Control” CONTENT=”no-cache, must-revalidate”
META HTTP-EQUIV=”expires” CONTENT=”0″
清理form表單的臨時緩存
body onLoad=”javascript:document.yourFormName.reset()”
其實form表單的緩存對於我們書寫還是有幫助的,一般情況不建議清理,但是有時候為了安全問題等,需要清理一下!
jquery ajax清除瀏覽器緩存
方式一:用ajax請求伺服器最新文件,並加上請求頭If-Modified-Since和Cache-Control,如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
$.ajax({
url:”,
dataType:’json’,
data:{},
beforeSend :function(xmlHttp){
xmlHttp.setRequestHeader(“If-Modified-Since”,”0″);
xmlHttp.setRequestHeader(“Cache-Control”,”no-cache”);
},
success:function(response){
//操作
}
async:false
});
方法二,直接用cache:false,
?
1
2
3
4
5
6
7
8
9
10
11
$.ajax({
url:”,
dataType:’json’,
data:{},
cache:false,
ifModified :true ,
success:function(response){
//操作
}
async:false
});
方法三:用隨機數,隨機數也是避免緩存的一種很不錯的方法!
URL 參數後加上 “?ran=” + Math.random(); //當然這裡參數 ran可以任意取了
方法四:用隨機時間,和隨機數一樣。
在 URL 參數後加上 “?timestamp=” + new Date().getTime();
用php後端清理
在服務端加 header(“Cache-Control: no-cache, must-revalidate”);等等(如php中)
方法五:
window.location.replace(“WebForm1.aspx”);
參數就是你要覆蓋的頁面,replace的原理就是用當前頁面替換掉replace參數指定的頁面。
這樣可以防止用戶點擊back鍵。使用的是javascript腳本,舉例如下:
a.html
以下是引用片段:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
html
head
titlea/title
script language=”javascript”
function jump(){
window.location.replace(“b.html”);
}
/script
/head
body
a href=”javascript:jump()” rel=”external nofollow” rel=”external nofollow” b/a
/body
/html
b.html
以下是引用片段:
如何防止js和css緩存
解決辦法一:每次修改js或css文件後,都要手工修改那個版本號,注意:是每修改一次(哪怕僅僅是改了一個字元)都要修改版本號;
解決辦法二:如果嫌手工修改太麻煩,那可以通過程序來自動修改(用隨機數做版本號)。如果你的網站是動態的,那可以通過後台程序來改,比如ASP的:
link rel=”stylesheet” href=”static/mimi/css/main.css?v=%=rnd()%” type=”text/css”/
PHP的:
link rel=”stylesheet” href=”static/mimi/css/main.css?v=?php echo mt_rand(); ?” type=”text/css”/
如果是靜態網站那就要js腳本來實現了,這個稍微麻煩點,這裡就不說了。
其實上述方法一和方法二的目的都是為了使每次打開的js或css的url不同,這樣瀏覽器就不會去緩存區取數據,而是直接到網站下載。
如果上述方法仍然無效,那就是你的瀏覽器的緩存機制存在問題,比如「從不檢查網頁的新版本,除非手動刷新」,這個就要你自己去設置了。
js緩存怎樣清理
瀏覽器緩存,有時候我們需要他,因為他可以提高網站性能和瀏覽器速度,提高網站性能。但是有時候我們又不得不清除緩存,因為緩存可能誤事,出現一些錯誤的數據。像股票類網站實時更新等,這樣的網站是不要緩存的,像有的網站很少更新,有緩存還是比較好的。今天主要介紹清除緩存的幾種方法。
清理網站緩存的幾種方法
meta方法
META HTTP-EQUIV=”pragma” CONTENT=”no-cache”
META HTTP-EQUIV=”Cache-Control” CONTENT=”no-cache, must-revalidate”
META HTTP-EQUIV=”expires” CONTENT=”0″123
清理form表單的臨時緩存
方式一:用ajax請求伺服器最新文件,並加上請求頭If-Modified-Since和Cache-Control,如下:
$.ajax({
url:”,
dataType:’json’,
data:{},
beforeSend :function(xmlHttp){
xmlHttp.setRequestHeader(“If-Modified-Since”,”0″);
xmlHttp.setRequestHeader(“Cache-Control”,”no-cache”);
},
success:function(response){
//操作
}
async:false
});12345678910111213
方法二,直接用cache:false,
$.ajax({
url:”,
dataType:’json’,
data:{},
cache:false,
ifModified :true ,
success:function(response){
//操作
}
async:false
});123456789101112
方法三:用隨機數,隨機數也是避免緩存的一種很不錯的方法!
URL 參數後加上 “?ran=” + Math.random(); //當然這裡參數 ran可以任意取了
eg:
script
document.write(“s”+”cript type=’text/javascript’ src=’/js/test.js?”+Math.random()+”‘/scr”+”ipt”);
/script
其他的類似,只需在地址後加上+Math.random()
注意:因為Math.random() 只能在Javascript 下起作用,故只能通過Javascript的調用才可以 12345678
方法四:用隨機時間,和隨機數一樣。
在 URL 參數後加上 “?timestamp=” + new Date().getTime(); 1
用php後端清理
在服務端加 header(“Cache-Control: no-cache, must-revalidate”);等等(如php中)1
方法五:
5、window.location.replace(“WebForm1.aspx”);
參數就是你要覆蓋的頁面,replace的原理就是用當前頁面替換掉replace參數指定的頁面。
這樣可以防止用戶點擊back鍵。使用的是javascript腳本,舉例如下:
a.html
以下是引用片段:
html
head
titlea/title
script language=”javascript”
function jump(){
window.location.replace(“b.html”);
}
/script
/head
body
a href=”javascript:jump()”b/a
/body
/html
b.html
以下是引用片段:
html
head
titleb/title
script language=”javascript”
function jump(){
window.location.replace(“a.html”);
}
/script
/head
body
a href=”javascript:jump()”a/a
/body
/html
js緩存問題怎麼解決
有時候在更改js文件後,頁面並沒有及時顯示出來,可能由於修改的文件不對,或者存在緩存問題。
面對的緩存問題有兩個:
一是頁面引入的js文件緩存。
二是js請求後台的緩存。
解決方法:
對於第一種情況,有兩種處理方式:1、可以在頁面引入的js文件後面增加日趨,如果不經常改動的文件,可以在每次改動後修改後綴。script type=”text/javascript” src=”scripts/jquery-1.5.2.min.js?version=1″/script
2、修改js文件的名字,如script type=”text/javascript” src=”scripts/jquery.js”/script
對於第二種情況,一般的處理方式是在請求的路徑後面加上毫秒值,這樣每次請求的路徑都不一樣,但是對於後台來說都是一樣的,用來欺騙瀏覽器,進行實時請求,不調用瀏覽器緩存。
原創文章,作者:EWLOA,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/313645.html