首頁  >  文章  >  web前端  >  在引入的css或js檔案後面加參數的作用

在引入的css或js檔案後面加參數的作用

高洛峰
高洛峰原創
2016-11-24 09:44:501210瀏覽

有時可能會遇到js或css檔案引用後傳遞參數:

css和js帶參數(形如.css?v=與.js?v=)

使用參數有兩種可能:

第一、腳本並不存在,而是服務端動態產生的,因此帶了個版本號,以示區別。 即上述程式碼對文件來說等價於                          

第二、客戶端會快取這些css或js文件,因此每次升級了js或css文件後,改變版本號,客戶端瀏覽器就會重新下載新的js或css文件,刷性緩存的作用。大家可能有時候發現修改了樣式或js,刷新的時候不變,就是客戶端快取了css或js文件,因此加上參數還是有好處的!

第二種情況最多,也可能兩種同時存在。

 

版本號,可以是一個隨機數,也可以是一個遞增的值,大版本小版本的方式,或者根據腳本的生成時間書寫,比如20080727182553 就是精確到了生成腳本的秒,而2.3.3就是大版本小版本的方式。

 

第一次升級:

第二次升級:

第三次升級:

其中,「v」只是一個名稱而已,隨便取。這個解決方法跟ajax請求地址後面添加隨機數的原理一樣,讓瀏覽器認為訪問不同的地址,這樣就不會使用緩存的文件了。

例如新浪首頁在2010年4月5日改版,只是改變CSS樣式表,可以在CSS後面,諸如.css?2010.4.5,這樣沒清理緩存的用戶打開新浪首頁就不會還是以前的樣子,當伺服器在讀取CSS檔案時候會重新讀取最新的2010.4.5的,


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn