[笔记]jQuery UI的tabs组件在IE浏览器中的缓存问题~

南笙酒味 提交于 2019-12-06 11:45:19

jQuery中禁用缓存

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

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

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

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

    $.ajaxSetup({cache:false})

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

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

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

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

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

[摘自:http://shenfei.me/jquery-to-disable-caching.html]

---------------------------------------------------------
呵呵,我最近也碰到这个问题了,我用的是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, // 加上此句代码,解决IE浏览器下由于缓存的原因导致tab页面内容不刷新问题!
error: function(xhr, status, index, anchor) {
$(anchor.hash).html("暂无报表选项卡内容,请新建本部门首页报表内容!”);
}
}
});
});

感谢上面那篇文章博主!~终于解决了这个让我差点吐血的问题!~

PS:按照上面那篇文章的修改方法是这样的:将$.ajaxSetup({cache:false}); 放到页面$(document).ready()里!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!