欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

禁止js文件缓存方法举例

程序员文章站 2024-02-15 17:28:11
...

禁止js文件缓存,如下: 1、在引用JS文件的地方加上:

  1. //09年08月14日修改
  2. var now=new Date();
  3. var number = now.getYear().toString()+now.getMonth().toString()+now.getDate().toString()+now.getHours().toString()+now.getMinutes().toString()+now.getSeconds().toString();
  4. document.write("\
复制代码

类似这种形式: js/YearReportLuRu.js?20100408154456,这样浏览器就会以为每次引用的js文件都是不同的,当然YearReportLuRu.js对后面的动态数并不进行处理。

2、就是在客户端页面文件头加上:

复制代码

服务器端:

  1. Response.Buffer = true;
  2. Response.ExpiresAbsolute = System.DateTime.Now.AddSeconds(-1);
  3. Response.Expires = 0;
  4. Response.CacheControl = "no-cache";
复制代码

这种办法在程序中应用过,但是有些用户还是存在缓存现象,个人觉得还没最终解决。

其它方法: 需要服务器上设置允许缓存,这样客户端才会根据客户端的设置来缓存一些静态文件(如:js、css、图片)。 在IIS里,可以在站点属性的“HTTP头”里设置“启用内容过期”,来控制客户端缓存的时间。(如下图) 这样HTTP返回的HTTP头是304,启用缓存可以大大提高用户体验,另外也建议启用http压缩,来优化网站。

如下图: 禁止js文件缓存方法举例

此方法是设置在WEB发布服务器上。

总结:对于静态文件用IIS或其它的WEB SERVER都可以做到,缓存客户端是IE或其它客户端的机制问题。 很多用户还是不会没事清掉客户端的cache,可以利用程序来控制缓存问题。