zoukankan      html  css  js  c++  java
  • 在引入的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的,
    没有永远的记忆,只有勤奋的笔记
  • 相关阅读:
    73. Set Matrix Zeroes
    289. Game of Live
    212. Word Search II
    79. Word Search
    142. Linked List Cycle II
    141. Linked List Cycle
    287. Find the Duplicate Number
    260. Single Number III
    137. Single Number II
    Oracle EBS中有关Form的触发器的执行顺序
  • 原文地址:https://www.cnblogs.com/yaoqj/p/4094424.html
Copyright © 2011-2022 走看看