JS清除IE浏览器缓存的方法

 更新时间:2013年07月26日 17:50:15   作者:  
本文为大家详细介绍下js中自动清除ie缓存的几种方法,大家可以根据自己的需求自由选择适合自己的,希望对大家学习js有所帮助
js中自动清除ie缓存方法 — 常用

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

方法一:Dojo中我们可以用简单的方法完成:在dojo.xhrGet(包括post)等方法中都包含preventCache属性,此属性的含义: “默认为启用浏览器缓存,否则将通过自动增加不同的参数来确保浏览器缓存失效” 我们只要把此属性赋值为:“true”即可。

方法二:document.write("
其中 ver=113 的 113就是版本号,一般都是采用 CVS 或其他工具生成的开发版本号。
这样真正做到了应该缓存的时候缓存静态文件,当版本有更新的时候从获取最新的版本,并更新缓存。
对于图像 来有效利用和更新缓存.

js清除浏览器缓存 二

为了减小浏览器与服务器之间网络传输压力,往往对静态文件,如js,css,修饰的图片做cache,也就是给这些文件的HTTP响应头加入 Expires和Cache-Control参数,并指定缓存时间,这样一定时间内浏览器就不会给服务器发出任何的HTTP请求(除了强制刷新),即使在 这段时间内服务器的js或css或图片文件已经更新多次,但浏览器的数据依然是原来最能初cache的旧数据,有没有办法让浏览器拿到已经修改后的最新数 据呢?

有,方法是用ajax请求服务器最新文件,并加上请求头If-Modified-Since和Cache-Control,如下:
复制代码 代码如下:

$.ajax({
type: "GET",
url: "static/cache.js",
dataType: "text",
beforeSend :function(xmlHttp){
xmlHttp.setRequestHeader("If-Modified-Since","0");
xmlHttp.setRequestHeader("Cache-Control","no-cache");

}
});

这里用了jquery.

这样浏览器就会把最新的文件替换掉本地旧文件。

当然,这里还一个问题就是js必须知道服务器更新了那个js、css、图片,利用cookie和时间版本应该可以解决.

jquery自从1.2开始就有ifModified和cache参数了,不用自己加header

ifModified Boolean Default: false
Allow the request to be successful only if the response has changed since the last request. This is done by checking the Last-Modified header. Default value is false, ignoring the header.
cache Boolean Default: true
Added in jQuery 1.2, if set to false it will force the pages that you request to not be cached by the browser.
复制代码 代码如下:

$.ajax({
type: "GET",
url: "static/cache.js",
dataType: "text",
cache:false,
ifModified :true
});

相关文章

  • 用JS做的简单的可折叠的两级树形菜单

    用JS做的简单的可折叠的两级树形菜单

    可折叠的树形菜单想必大家并不陌生吧,实现方法有多种,在本文将为大家介绍下js是如何实现的,希望对大家有所帮助
    2013-09-09
  • js百度地图滚轮缩放所在点偏移问题解决

    js百度地图滚轮缩放所在点偏移问题解决

    本文主要介绍了js百度地图滚轮缩放所在点偏移问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • bootstrap Table服务端处理分页(后台是.net)

    bootstrap Table服务端处理分页(后台是.net)

    这篇文章主要为大家详细介绍了bootstrap Table服务端处理分页,后台是.net,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • js点击返回跳转到指定页面实现过程

    js点击返回跳转到指定页面实现过程

    这篇文章主要为大家详细介绍了js点击返回跳转到指定页面实现过程,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • js流动式效果显示当前系统时间

    js流动式效果显示当前系统时间

    这篇文章主要为大家详细介绍了js实现流动式时间效果的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • javacript replace 正则取字符串中的值并替换【推荐】

    javacript replace 正则取字符串中的值并替换【推荐】

    replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。这篇文章主要介绍了javacript replace 正则取字符串中的值并替换,需要的朋友可以参考下
    2018-09-09
  • webpack热模块替换(HMR)/热更新的方法

    webpack热模块替换(HMR)/热更新的方法

    模块热替换(HMR)的作用是,在应用运行时,无需刷新页面,便能替换、增加、删除必要的模块,本篇文章主要介绍了webpack热模块替换(HMR)/热更新的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • uniapp微信小程序底部动态tabBar的解决方案(自定义tabBar导航)

    uniapp微信小程序底部动态tabBar的解决方案(自定义tabBar导航)

    tabBar如果应用是一个多tab应用,可以通过tabBar配置项指定tab栏的表现,以及tab切换时显示的对应页,下面这篇文章主要给大家介绍了关于uniapp微信小程序底部动态tabBar的解决方案,需要的朋友可以参考下
    2022-04-04
  • JavaScript计算正方形面积

    JavaScript计算正方形面积

    这篇文章主要为大家详细介绍了JavaScript计算正方形面积,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • javascript实现数据双向绑定的三种方式小结

    javascript实现数据双向绑定的三种方式小结

    本篇文章主要介绍了javascript实现数据双向绑定的三种方式小结,前端的视图层和数据层有时需要实现双向绑定,目前实现数据双向绑定主要有三种,有兴趣的可以了解一下。
    2017-03-03

最新评论