`
afei1689
  • 浏览: 16627 次
文章分类
社区版块
存档分类
最新评论

用ajax清除浏览器缓存的js、css、图片等

阅读更多

 为了减小浏览器与服务器之间网络传输压力,往往对静态文件,如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和时间版本应该可以解决.

分享到:
评论
1 楼 ayeah 2008-08-18  
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
  });

相关推荐

    HTTP+JS+浏览器缓存技术

    浏览器缓存是指浏览器在本地磁盘上存储的静态资源文件,包括HTML、CSS、JavaScript、图片等,以便下一次请求时可以直接从缓存中读取,从而提高网站性能和浏览器速度。浏览器缓存机制可以分为两大类:Expires 策略和 ...

    Ajax清除浏览器js、css、图片缓存的方法

    为了减小浏览器与服务器之间网络传输压力,往往对静态文件,如js,css,修饰的图片做cache,也就是给这些文件的HTTP响应头加入 Expires和Cache-Control参数,并指定缓存时间,这篇文章详细介绍Ajax清楚浏览js、Css、...

    js、css、img等浏览器缓存问题的2种解决方案.docx

    在 Web 开发中,浏览器缓存是非常重要的一部分,它可以提高网站的加载速度和执行效率,但同时也带来了许多问题,例如当服务端修改了 js、css 等文件时,客户端无法更新,这就需要我们采取一些方法来解决这些问题。...

    js清除浏览器缓存的几种方法

    浏览器缓存是网页加载速度的关键因素,它存储了用户访问过的网页资源,如HTML、CSS、JavaScript文件和图片,以减少再次访问时的加载时间。然而,在某些情况下,如股票实时更新网站,缓存可能会导致数据不准确,这...

    清除Jquery缓存

    为了避免由于浏览器缓存导致的开发过程中出现的问题,开发人员需要确保每次修改文件后都能立即看到效果。此时就需要使用方法来清除浏览器的缓存。 ### 使用`jQuery.ajaxSetup({cache:false})`清除缓存 #### 代码...

    关于angularJs清除浏览器缓存的方法

    浏览器缓存通过保存网页的静态资源(如HTML、CSS、JavaScript文件)来减少网络带宽的使用,提高页面加载速度。然而,当应用需要实时更新或数据变化时,缓存就可能成为问题。 传统上,我们可以使用以下几种方式来...

    清除浏览器缓存的几种方法总结(必看)

    浏览器缓存是网络浏览中的一个重要机制,它存储网页的静态资源,如图片、CSS样式表和JavaScript文件,以便用户再次访问同一网站时能快速加载页面,提升用户体验。然而,有时缓存可能会导致问题,比如当网页更新而...

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

    另一种常见方法是在静态资源URL中添加版本号,如CSS、JavaScript文件或图片。例如,将URL中的"ver=113"替换为当前的版本号。每当版本号改变,浏览器会认为这是一个新的资源,从而获取最新的版本而不是使用缓存的旧...

    在开发AJAX过程中遇到的问题及解决方案

    此外,还可以通过JavaScript代码强制让用户手动清除浏览器缓存,但这不是一种很好的用户体验做法,因此不建议频繁使用。 ##### 4. 使用条件GET请求 条件GET请求允许客户端告知服务器它已有资源的最后修改时间或...

    前端基础学习(HTML、css、UI框架、JS)

    这包括压缩代码、合并文件、使用 CDN、优化图片、缓存策略、懒加载等技术。 通过学习这些基础知识,开发者可以创建功能强大、响应迅速且视觉吸引力强的网页和应用程序。不断地实践和深入研究这些领域,将有助于提升...

    动态显示JSP服务器内存的Ajax程序.Rar

    【标题】"动态显示JSP服务器内存的Ajax程序"是一个基于Web的应用程序,它利用Ajax技术来实时展示JSP服务器的内存使用情况。Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下更新部分...

    基于Ajax的二级联动下拉列表.rar

    在网页设计中,二级联动下拉列表是一种常见的交互元素,常用于实现地区选择、产品分类等场景。...在实际项目中,还需要考虑性能优化,如使用缓存减少请求次数,以及兼容性问题,确保在各种浏览器环境下都能正常工作。

    大厂前端高频面试题分享

    - 网页中有大量图片加载很慢的优化方法:如使用压缩图片、使用懒加载、使用图片预加载、使用CDN等。 ### JavaScript相关知识点 - JS基本数据类型:包括`Number`、`String`、`Boolean`、`Null`、`Undefined`、`...

    2021最新大厂前端面试宝典pdf

    浏览器的兼容性处理包括了解不同浏览器对CSS特性的支持情况,使用条件注释、CSS前缀、以及polyfills等技术手段来兼容旧浏览器。 ### Javascript相关知识点 #### 基本数据类型 JavaScript的基本数据类型包括数字...

    jquery做的图片切换特效

    在网页设计和开发中,jQuery 是一款非常流行的 JavaScript 库,它简化了DOM操作、事件处理、动画效果以及Ajax交互等任务。标题提到的“jquery做的图片切换特效”是jQuery库在网页动态效果中的一种常见应用,用于创建...

    经典的javascript网页特效代码 javascript特效

    JavaScript提供了`localStorage`和`sessionStorage`来保存用户数据,实现如记住用户设置、缓存页面数据等特效。 九、响应式设计 为了适应不同设备和屏幕尺寸,JavaScript可以配合CSS媒体查询实现响应式设计。例如,...

    优化网站性能 提高网站速度访问速度的14条实践.docx

    10. **压缩JavaScript和CSS**:使用工具压缩代码,去除空格和注释,减小文件大小。 11. **避免重定向**:重定向会导致额外的HTTP请求,应减少或消除不必要的重定向。 12. **移除重复的脚本**:重复的脚本不仅浪费...

    这是一款简单的jQuery和css3全屏幻灯片插件

    4. **兼容性处理**:由于CSS3的一些特性在旧版浏览器中可能不支持,需要使用Modernizr等工具检测浏览器特性,或者提供回退方案以确保在各种环境下都能正常工作。 5. **优化与性能**:考虑性能优化,如使用事件委托...

Global site tag (gtag.js) - Google Analytics