`
snowstone
  • 浏览: 19824 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

防止jQuery Load使用缓存的方法[转载]

阅读更多

 

 防止jQuery Load使用缓存的方法[转载]

缓存这东西,在一定程度上加快了页面的装载,但是也常常给我们带来麻烦。我在上篇文章里简单介绍了jQuery中Load方法的使用。在实际运用中,我们可能会碰到浏览器缓存的问题。比如我就在IE7里碰到这个问题。

jQuery Load样本代码:

$(document).ready(function(){
 $("#labels").load("/blog/categories/labels.html");
 //在页面装载时,在ID为#labels的DOM元素里插入labels.html的内容。
});
 

当我更新了labels.html以后,在IE7里load方法仍旧在使用旧的labels.html,就算我按刷新键也不管用。好在jQuery提供一个防止ajax使用缓存的方法,把下面的语句加在head的javascript文件里,就可以解决问题。
$.ajaxSetup ({
 cache: false //关闭AJAX相应的缓存
});
 

此外我再介绍几种方法解决缓存的方法。注意:我没有在jQuery load的问题上测试过,这些方法仅供参考!

1.更改文件名,比如把labels.html改成lables_new.html,但是这是没有办法的办法,一般没有人这么做。

2.在labels.html后加上特定时间,比如lables.html?20081116。在实际工作中,在我更新css/javascript文件后,我都是用这种办法来防止文件被缓存。

3.设置html的缓存:在labels.html文件的顶部加入以下声明:
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">     
<META HTTP-EQUIV="Expires" CONTENT="0">
4.java设置缓存
<%
 request.setAttribute("decorator", "none");
 response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
 response.setHeader("Pragma","no-cache"); //HTTP 1.0
 response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
%> 

 

 
以上3点和4点,在代码中测试后,似乎没有效果,1点和点为转载,没有自己测试过;下面代码在jquery测试,可以解决缓存问题.

$.ajaxSetup ({ cache: false //关闭AJAX相应的缓存 });
分享到:
评论

相关推荐

    防止jQuery ajax Load使用缓存的方法小结

    一、用法 jquery的load函数是请求另一个文件并加载到当前DOM里的调用,load方法的完整格式是:load( url, [data], [callback] )(注意没有参数是GET方式请求,有参数则是 POST方法)。 * url:是指要导入文件的地址。...

    ajax与jquery无刷新验证用户之load()之post方法二

    在本例中,我们使用jQuery的load()方法来实现Ajax请求。load()函数通常用于动态加载HTML内容到指定的DOM元素中。在这个场景下,我们通过点击“登陆”按钮触发Ajax请求: ```javascript $("#denglu").click(function...

    使用JQuery load函数异步分页实例

    6. **优化性能**:为了提高效率,可以添加一些额外的优化,如缓存已加载的数据,防止重复加载,或者使用懒加载,只有当内容进入视口时才加载。 通过这种方式,我们能够实现一个快速且高效的异步分页系统,避免一次...

    jQuery load方法用法集锦

    **防止jQuery使用缓存:** 默认情况下,jQuery的AJAX请求包括`load`方法,可能会被浏览器缓存,导致无法获取最新的数据。可以通过设置全局的`ajaxSetup`来关闭缓存: ```javascript $.ajaxSetup({ cache: false }); ...

    前端项目-jquery.loadtemplate.zip

    `jquery.loadtemplate` 是一个基于 jQuery 的插件,专门用于加载和使用模板,使得在Web应用中动态渲染内容变得更加便捷。这个压缩包文件“frontend-project-jquery.loadtemplate.zip”包含了一个名为“jquery-...

    禁止JQuery中的load方法装载IE缓存中文件的方法

    当使用JQuery的load方法请求服务器上的文件时,如果文件内容已经存在IE的缓存中,并且服务器没有通过HTTP响应头明确告诉浏览器需要重新获取文件,那么IE浏览器会从缓存中读取这个文件,而不是向服务器发送新的请求。...

    jQuery:图片缓存 10 jQuery Image Cache Plugins and Scripts

    为了优化图片加载,开发人员经常使用jQuery插件来实现图片缓存功能。这样,图片可以在用户首次访问网站时预加载或在后台加载,从而提高后续访问的速度。本文将探讨10款优秀的jQuery图片缓存插件和脚本,以提升网页...

    Ajax与jquery相结合实现的无数新验证用户之load()get方法

    本文将深入探讨如何利用Ajax与jQuery的load()、$.get()等方法来实现实时验证用户输入的有效性,避免不必要的页面刷新。 首先,我们来看load()方法,它是jQuery中的一个便利功能,用于加载远程HTML文档到指定的DOM...

    jquery中ajax常用的方法,jQuery ajax框架常用方法总结.docx

    jQuery 中 AJAX 常用的方法总结 jQuery 是一个功能强大且流行的 JavaScript 库,它提供了许多有用的方法来处理 AJAX 请求。AJAX(Asynchronous JavaScript and XML)是一种创建交互式网页的技术,它允许网页从...

    jquery1.4.1使用手册

    8. **效率优化**:在使用jQuery时,应注意性能优化,如减少DOM操作次数,使用高效的selector,避免使用全局变量,以及利用缓存机制提高性能。 9. **兼容性**:jQuery 1.4.1版本对当时的主流浏览器(如IE6/7/8、Fire...

    jquery 缓存问题的几个解决方法

    .load方法没有设置 cache参数 默认true ,特别在IE浏览器下,一般的ajax的方法都是cache等于true的! 解决办法几个: 1....修改jquery.js中,load方法,load方法也是调用的.ajax,增加cache:false 3.在你请求的链接

    jquery使用技巧总结

    《jQuery使用技巧深度解析》 在Web开发领域,jQuery是一个广泛应用的JavaScript库,它极大地简化了DOM操作、事件处理、动画制作以及Ajax交互等任务。本文将深入探讨jQuery的使用技巧,帮助开发者提升效率,更好地...

    jQuery Ajax使用 全解析

    对于需要更复杂配置的Ajax交互,或者需要对请求和响应进行更细致的处理时,则应使用jQuery.ajax()方法。此外,在使用jQuery Ajax时,也应考虑不同浏览器对于Ajax请求的支持情况,尤其是在处理跨域请求时。

    Jquery中Ajax 缓存带来的影响的解决方法

    此外,在某些情况下,浏览器可能会忽略`cache: false`的设置,特别是在通过链接触发Ajax请求时(例如,使用`$.load()`方法加载内容)。这时,可以考虑使用其他技巧来避免缓存,如在请求的URL中添加一个随机数或...

    jQuery 重复加载错误以及修复方法

    4. **使用CDN**:使用公共的CDN(内容分发网络)服务加载jQuery,这样浏览器可以从缓存中获取,减少服务器压力,同时减少重复加载的可能性。 5. **控制加载顺序**:在HTML中调整脚本引用的顺序,确保依赖关系正确。...

Global site tag (gtag.js) - Google Analytics