禁止js文件缓存的代码

 更新时间:2010年04月09日 13:16:55   作者:  
禁止js文件缓存问题是我一直遇到的大问题,终于找到了一个比较好的办法
如下:
1、在你引用JS文件的地方加上,如下:
复制代码 代码如下:

//09年08月14日修改
var now=new Date();
var number = now.getYear().toString()+now.getMonth().toString()+now.getDate().toString()+now.getHours().toString()+now.getMinutes().toString()+now.getSeconds().toString();
document.write("\<script language=\"javascript\" type=\"text/javascript\" src=\"js/YearReportLuRu.js?"+number+"\"><\/script\>");
//alert("\<script language=\"javascript\" type=\"text/javascript\" src=\"js/YearReportLuRu.js?"+number+"\"><\/script\>");//测试

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

2、就是在客户端页面文件头加上:
复制代码 代码如下:

<%--不进行缓存设置--%>
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="Cache-Control" content="no-cache,must-revalidate" />
<meta http-equiv="expires" content="Wed,26 Feb 1997 08:21:57 GMT" />

服务器端加上:
复制代码 代码如下:

Response.Buffer = true;
Response.ExpiresAbsolute = System.DateTime.Now.AddSeconds(-1);
Response.Expires = 0;
Response.CacheControl = "no-cache";

这种办法我在程序中应用过,但是有些用户还是存在缓存现象,个人觉得还没最终解决。
3、还有别的办法,在此汇总下,我本人没用过,只是网上找到的,如下:
需要服务器上设置允许缓存,这样客户端才会根据客户端的设置来缓存一些静态文件(如:js、css、图片)。
在IIS里,可以在站点属性的“HTTP头”里设置“启用内容过期”,来控制客户端缓存的时间。(如下图)
这样HTTP返回的HTTP头是304,启用缓存可以大大提高用户体验,另外也建议启用http压缩,来优化网站。

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

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

相关文章

  • 详解JavaScript模块化开发

    详解JavaScript模块化开发

    一个模块就是实现特定功能的文件,有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。模块开发需要遵循一定的规范,否则就都乱套了
    2016-12-12
  • 解决layer弹出层中表单不起作用的问题

    解决layer弹出层中表单不起作用的问题

    今天小编就为大家分享一篇解决layer弹出层中表单不起作用的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • JavaScript实现统计文本框Textarea字数增强用户体验

    JavaScript实现统计文本框Textarea字数增强用户体验

    现在流行的Twitter等微博客网站,有一个很好的用户体验,就是在文本框中输入文字的时候,会自动统计输入的字符,并显示用户还能输入的字符,在限制了140个字的微博客中,这样的小提示可以很好的增强用户体验,本文也尝试着实现一下
    2012-12-12
  • 一文教你如何像导入JS模块一样导入CSS

    一文教你如何像导入JS模块一样导入CSS

    HTML中通过使用css可以让网页的美观效果更进一步,下面这篇文章主要给大家介绍了如何像导入JS模块一样导入CSS的相关资料,文中给出了详细的实例代码,需要的朋友可以参考下
    2021-09-09
  • Ajax使用原生态JS验证用户名是否存在

    Ajax使用原生态JS验证用户名是否存在

    这篇文章主要为大家详细介绍了Ajax使用原生态JS验证用户名是否存在的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • layui当点击文本框时弹出选择框,显示选择内容的例子

    layui当点击文本框时弹出选择框,显示选择内容的例子

    今天小编就为大家分享一篇layui当点击文本框时弹出选择框,显示选择内容的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • H5页面跳转小程序的3种实现方式

    H5页面跳转小程序的3种实现方式

    这篇文章主要给大家介绍了关于H5页面跳转小程序的3种实现方式,说出来你可能不信,每位商家几乎都会h5转跳到小程序、H5转跳至小程序的应用范围十分广阔,需要的朋友可以参考下
    2023-08-08
  • javascript的indexOf忽略大小写的方法

    javascript的indexOf忽略大小写的方法

    javascript 中 indexOf 是严格区分大小写的 如何才能忽略大小写呢?
    2008-08-08
  • javaScript实现网页版的弹球游戏

    javaScript实现网页版的弹球游戏

    这篇文章主要为大家详细介绍了javaScript实现网页版的弹球游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • Lab.js初次使用笔记

    Lab.js初次使用笔记

    这篇文章主要介绍了Lab.js初次使用笔记,本文对比了普通动态加载JS文件的技术和使用Lab.js加载JS文件的技术,并给出了Lab.js加载示例,需要的朋友可以参考下
    2015-02-02

最新评论