有同学经常遇到html页面里加载的js与css文件带有参数,今天我也遇到了一个网站在CSS文件后面加了参数比如:
<script type="text/javascript" src="http://www.chhua.com/chhua.js?1217128319"></script>
<link rel='stylesheet' href='http://www.chhua.com/n.css?version=2.3.3' type='text/css' /> <link rel='stylesheet' href='http://www.chhua.com/n.css?version=20080727182553' type='text/css' />
使用参数有两种可能,
- 脚本并不存在,而是服务端动态生成的,因此带了个版本号,以示区别。
- 客户端会缓存这些css或js文件,因此每次升级了js或css文件后,改变版本号,客户端浏览器就会重新下载新的js或css文件
第二种情况最多,也可能两种同时存在。
版本号,可以是一个随机数,也可以是一个递增的值,大版本小版本的方式,或者根据脚本的生成时间书写,比如 20080727182553 就是精确到了生成脚本的秒,而 2.3.3 就是大版本小版本的方式。
我感觉还有以下几种可能:
- 服务器端使用了URLRewrite,实际上最终访问的是动态服务器文件,例如xxx.php,而这个服务器端文件运行完毕后,response 出来一个标准的 JS 字串流。
- 根本就是从客户端提交参数上去的。我就在项目中使用过这种方式,页面都是自动生成的,因此在生成的页面中打上特殊标记。,这样在运行脚本时,能够知道是哪个页面在请求脚本,可以运行不同的方法。用这个方法偷偷记录PV很不错。
自由转载,转载请注明: 转载自WEB开发笔记 www.chhua.com
本文链接地址: JS文件后面加参数和CSS文件后面加参数的原因和目的 http://www.chhua.com/web-note164
评论