在引入的css或者js文件后面加参数的作用

Posted 阿波罗任

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在引入的css或者js文件后面加参数的作用相关的知识,希望对你有一定的参考价值。

在引入的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的,
没有永远的记忆,只有勤奋的笔记

以上是关于在引入的css或者js文件后面加参数的作用的主要内容,如果未能解决你的问题,请参考以下文章

ueditor编辑器中如何加样式,引入的css文件为啥不生效呢?

页面在引入js,css静态文件的时候怎样加个时间戳

前端怎么快速筛选页面没用的js和css文件

VueJS如何引入css或者less文件的一些坑

好看的alert样式或者弹窗样式

外部js怎么引用css?