你好我有一个页面上有一些jquery ui标签,它们在chrome和firefox中运行良好但在IE(测试9)中,当用户执行操作并且页面重新加载内容时,内容始终保持不变相同。 这可能是因为我使用cookie来记住用户所在的标签
<script>
$(function() {
$( "#tabs" ).tabs({
cookie: {
expires: 1
},
ajaxOptions: {
error: function( xhr, status, index, anchor ) {
$( anchor.hash ).html(
"Couldn't load this tab. We'll try to fix this as soon as possible.");
}
}
});
});
</script>
答案 0 :(得分:2)
您是否尝试过设置ajaxoptions?
$(document).ready(function(){
$("#tabs").tabs({
spinner: 'Loading...',
cache: false,
ajaxOptions: {cache: false}
});
});
答案 1 :(得分:2)
我一直在努力解决类似的问题,JQuery标签适用于除MSIE之外的所有浏览器。问题是MSIE缓存了所有页面请求,即使按下重新加载按钮,我也用EXPIRES头参数解决了服务器端问题。
我使用Perl和CGI模块,并为所有页面和AJAX请求添加了expires参数:
print $q->header({-type=>'text/html', -expires=>'now'}), $HTML_CONTENT;
希望这可以帮助别人!
答案 2 :(得分:1)
我同意Dusty的答案应该是正确的。但是在我的情况下,它在IE6中不起作用。相反,我使用全局jquery ajaxSetup(由jquery ajax函数使用,由jqueryui选项卡使用)来关闭缓存,如下所示:
$.ajaxSetup({
cache: false
});
这对我来说非常有意义,因为我无法看到为什么我希望浏览器缓存我专门尝试ajax的东西,但是意识到这是特定于需求。
我已在母版页中完成此操作,以便所有页面都遵循规则。奇怪的是,默认情况下缓存设置为true,但Firefox忽略它。看起来它曾经是IE曾经做过的事情(即使它很烦人)。
参考文献: