禁止js文件緩存方法舉例(js自動清除緩存)

本文目錄一覽:

如何清除在瀏覽器 中的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-hk/n/313645.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
EWLOA的頭像EWLOA
上一篇 2025-01-07 09:44
下一篇 2025-01-07 09:44

相關推薦

發表回復

登錄後才能評論