Alen Liu

人生最重要的不是过得怎样,而是懂得怎样过。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

在实际项目开发过过程中,页面是上传到服务器上的。而为了减少服务器的压力,让用户少加载,浏览器会将图片、css、js缓存到本地中,以便下次访问网站时使用。这样做不仅减少了服务器的压力,并且也减少了用户的下载次数,获得更好的用户体验。


  然而在版本升级或做一些css、js等调整的时候,缓存导致用户无法显示更新后 的样式,这是另人头头疼的问题。除非用户自行手动升级缓存,不过几乎所有用户不会为了正常访问这个网站而去手动清除缓存,因为用户根本不知道是不是缓存的 问题,而归根结底,用户就是认为你的页面存在问题,不能正常访问。


  为了可以正常使用缓存,又避免这样的问题,我们可以动脑筋想想,如果解决此问题呢?


  如果更改了样式不能正常访问,那么更改样式的文件名呢?答案是可以的,这里将不 再验证。然而每次都手动的去更改文件名显然过于麻烦,能不能不更改文件名呢?答案是肯定的。我们可能通在引入的文件名后面加入版本号,与之前的版本都不同 的版本号(一般为更新日期)。代码如下:

<link rel="stylesheet" type="text/css" href="reset.css?v=20140829">

<script type="text/javascript" src="core.js?v=20140829"></script>

 

 

  可以看到我的CSS文件名及JS文件名后面都跟了"v=20140829",这样做可以不去改变文件名又做到缓存的同时,可以实时更新。而"v=20140829"只是普遍习惯书写,可更改为其它的。


  最后是图片,一般img标签的图片都不会重名,因为都是在后台生成的文件名。而如果是固定的文件名图片,方法同上。而对于背景图,由于更改了样式名,图片的解析路径自然是更新同步,因此背景图也更新了。



via:http://www.cnblogs.com/wuyuchang/p/3945860.html

posted on 2014-09-01 13:03  Alen Liu  阅读(3366)  评论(0编辑  收藏  举报