如:/js/swapWatch.js?v=2316163
为了提高访问网页的速度,浏览器会采用累积式加速的方法,将曾经访问的网页内容(包括图片、脚本等)存放在电脑里。这个存放空间,就称它为浏览器缓存。以后每次访问网站时,浏览器会首先搜索这个目录,其中已经有访问过的内容,那浏览器就不必从网上下载,而直接从缓存中调出来,从而提高了访问网站的速度。
什么文件会被浏览器缓存?当然是大多数静态文件--也就是很长一段时间都不会修改的文件,js文件也属于该类。
asp、php、jsp这类动态页面--没多少时间内容就会改变的文件一般会取消或者是缩短缓存失效的时间
这里jquery.js?v=1.3.2,后面的?v=1.3.2对访问这个文件没有任何影响,只是为了换一个url而已,浏览器判断是否需要从缓存中加载,就是通过url
这样写也不成问题
jquery.js?1
jquery.js?v=20080101
jquery.js?t=囧
我们来设想一个场景你就明白了。(明白了就早点结贴)
你开发了一个a.asp的网页,其中加载了jquery.js
<script src="/i/jquery.js"></script>
用户使用了一段时间,这时新的需求又来了,你得在jquery.js增加一个新的函数b
a.asp中调用了这个函数
这时候用户打电话来问你,怎么我的浏览器报错---b函数没有找到
原因就是:浏览器没有缓存a.asp但缓存了jquery.js
那就你回电话告诉用户,“请你清除一下浏览器的缓存吧!”
问题解决了。但当你的用户是几千人时,那你可能收到几百个电话(一些用户可能就放弃你的产品了)
如果你不想这些用户碰见“b函数没有找到”的异常,那只需要改改a.asp引用jquery.js的url即可。
<script src="/i/jquery.js?new"></script>
原文:http://bbs.csdn.net/topics/320243375