jquery ui标签在IE中没有刷新

时间:2011-07-07 19:56:39

标签: internet-explorer jquery-ui jquery-ui-tabs

你好我有一个页面上有一些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>

3 个答案:

答案 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曾经做过的事情(即使它很烦人)。

参考文献:

http://docs.jquery.com/Ajax/jQuery.ajaxSetup

http://docs.jquery.com/Ajax/jQuery.ajax