I Sparkle

Sparkle my ideas

jQuery中禁用缓存

最近在使用jQuery ui中的tabs插件时,遇到一个问题。

在非IE浏览器下,标签是自动刷新的。就是在不同的标签间切换,不用刷新整个页面,如果某个标签内容有更新,比如显示时间,那么切换到别的标签,再切换回来,时间是最自动更新的。

但是在IE中,无论怎么修改标签内的代码,内容都不会自动刷新,而且,按F5设置是Ctrl+F5,内容都不会自动更新!

后来,在国外论坛中找到了一种方法,就是禁用jQuery的缓存:

$.ajaxSetup({cache:false})

其实,cache:false我之前也有想到,但是把它放到tabs()里面了,所以竟然无效。

看来还是对jQuery框架了解的不是太深刻哈。

不过这也暴露了使用框架的一个弊端:不太自由。如果需要使用些高级的功能,就相当麻烦。

当然,如果只是在UI上,jQuery是非常棒的。但是如果处理数据,它就显得有点儿力不从心了。

貌似在数据处理上EXT比较强大些。

您或许会喜欢:

如果您喜欢本文,您可以对本文发表评论订阅本站 以获取本站最新动态。

1个评论

  • lee发表于 August 5, 2011 11:34 回复

    呵呵,我最近也碰到这个问题了,我用的是jQuery 1.4.4和jQuery UI 1.8.8,在IE6、7、8版本中都有这个问题,非IE浏览器中没有任何问题,一开始我以为是jQuery UI 1.8.8版本的问题,当我升级到jQuery UI 1.8.14后问题依旧。崩溃ing,于是google,还好发现博主你这篇文章,然后我试着在ajaxOptions中加入cache:false,然后再测试IE6、7、8,问题修复了!!!

    <!–
    jQuery(document).ready(function() {
    $("#tabs").tabs({
    ajaxOptions: {
    cache:false,
    error: function(xhr, status, index, anchor) {
    $(anchor.hash).html("暂无报表选项卡内容,请新建本部门首页报表内容!”);
    }
    }
    });
    });
    //–>

    感谢博主!~终于解决了这个让我差点吐血的问题!~

发表评论