首页 > Web开发 > 详细

关于css js文件缓存问题

时间:2015-12-25 19:13:34      阅读:227      评论:0      收藏:0      [点我收藏+]

什么情况下,要禁止静态文件缓存:
1、经常可能要改动的 js, css.
比如一个js文件引用如下
<script src="test.js"></script>

后来进行了test.js文件的修改
在这种情况下如果以前用户浏览过此页面,那么他的浏览器自动缓存了 test.js
当他浏览新版本的时候,因为使用的是 缓存js,这样将导致脚本出错。

解决方法探讨:
因为css,js 是通过 <script src=....> 这种方式加载的,所以,很难使用 asp 的那种服务器端禁止缓存的办法。也很难使用ajax的通过设置 http请求头的办法禁止使用缓存。

解决方法

1、随机数法

方法一:
document.write( " <script src=‘test.js?rnd= " + Math.random() + " ‘></s " + " cript> " )
方法二: 
var js = document.createElement( " script " )
js.src = " test.js " + Math.random()
document.body.appendChild(js)
这样采用随机数的话, js文件将永远得不到缓存,每次都必须重新从服务器加载,即使没有任何更改。
大家如果经常上国外网站的话,可以看到他们通常采用这样的方式来解决:
<script src="test.js?ver=113"></script>
其中 ver=113 的 113就是版本号

这样真正做到了应该缓存的时候缓存静态文件,当版本有更新的时候从获取最新的版本,并更新缓存。
对于图像 <img src="test.jps?ver=版本号"> 来有效利用和更新缓存.

关于css js文件缓存问题

原文:http://www.cnblogs.com/wangdodo/p/5076506.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!