在引入的css或者js文件后面加參數的作用


http://www.2cto.com/kf/201301/185262.html借鑒這個哥們的稍作整理

<script type="text/javascript" src="js/copy.js?20141025"></script>

<script type="text/javascript" src="js/copy.js?version=2.1"></script>

<link rel=’stylesheet’ href=’common.css?version=2.1′ type=’text/css’ />

有時候可能會遇到js或者css文件引用后傳遞參數:
css和js帶參數(形如.css?v=與.js?v=)
 
使用參數有兩種可能:
第一、腳本並不存在,而是服務端動態生成的,因此帶了個版本號,以示區別。  即上面代碼對於文件來說 等價於
<script type="text/javascript" src="js/copy.js"></script> 
 <link rel=’stylesheet’ href=’common.css?version=2.1′ type=’text/css’ />  但瀏覽器會認為他是 該文件的某個版本!
第二、客戶端會緩存這些css或js文件,因此每次升級了js或css文件后,改變版本號,客戶端瀏覽器就會重新下載新的js或css文件 。
客戶端會有緩存,修改了css或者js的時候不會立即反應到瀏覽器上,經常需要清理緩存才行,加上參數的效果很不錯。
 
版本號,可以是一個隨機數,也可以是一個遞增的值,大版本小版本的方式,或者根據腳本的生成時間書寫,比如 20080727182553 就是精確到了生成腳本的秒,而 2.3.3 就是大版本小版本的方式。
 
第一次升級:
<script src="aaa.js?v=1.0"></script>
第二次升級:
<script src="aaa.js?v=1.1"></script>
第三次升級:
<script src="aaa.js?v=1.2"></script>
……
其中,“v”只是一個名稱而已,隨便取。這個解決方法跟ajax請求地址后面添加隨機數的原理一樣,讓瀏覽器認為訪問不同的地址,這樣就不會使用緩存的文件了。
比如新浪首頁在2010年4月5日改版,只是改變CSS樣式表,可以在CSS后面,諸如.css?2010.4.5,這樣沒清理緩存的用戶打開新浪首頁就不會還是以前的樣子,當服務器在讀取CSS文件時候會重新讀取最新的2010.4.5的,


免責聲明!

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



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