js中自动清除ie缓存方法

发布时间:2015年2月4日 作者:未知 查看次数:1533

js中自动清除ie缓存方法


js中自动清除ie缓存方法

自:http://blog.163.com/zjlovety@126/blog/static/22418624201022895850718/

对于动态文件,比如 index.asp?id=...  或者 index.aspx?id=... 相信有经验的程序员都知道怎样禁止浏览器缓存数据了.
但是对于静态文件(css,jpg,gif等等), 在什么场合下面我们需要禁止浏览器缓存他们,怎么做?

    方法一:Dojo中我们可以用简单的方法完成:在dojo.xhrGet(包括post)等方法中都包含preventCache属性,此属性的含义:“默认为启用浏览器缓存,否则将通过自动增加不同的参数来确保浏览器缓存失效”  我们只要把此属性赋值为:“true”即可。
    方法二: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就是版本号,一般都是采用 CVS 或其他工具生成的开发版本号。

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



版权所有!www.sieye.cn
E.Mail:sieye@sohu.com QQ:66697110