IE7和8的jQuery load()问题

时间:2013-03-14 23:15:19

标签: javascript jquery

我一直在搜索jquery .load问题的最佳解决方案,它影响ie7和8,我有以下代码块,它从外部jsp页面加载我的内容,除了所有浏览器都没有问题曾经有过IE7和8。

$(document).ready(function(){
    $.ajaxSetup({ cache: false });
    setInterval(function () {
        $('#myDiv').load('test.jsp').fadeIn("slow");
    }, 10000); 
});

我找到了许多解决方法,例如设置新日期:

$('#myDiv').load('test.jsp',{noncache: new Date().getTime()},function(){..}).fadeIn("slow");

但是对我来说不起作用,但内容不会在IE7和8上加载。

1 个答案:

答案 0 :(得分:0)

首先,如果你想要内容淡入,那么它必须首先被隐藏。如果包含的div已经可见,则无法淡入。

其次,有些版本的IE对缓存有点热心,你可以通过URL中的唯一参数来打败缓存(就像你尝试过的那样)。

第三,.load()不是动画,所以它不使用动画队列,所以如果你想在加载完成后做某事,那么你需要在完成函数中做。你有最后两个的部分,但没有把它们放在一起。

你可以将所有这三个结合起来:

$(document).ready(function(){
    var myDiv = $('#myDiv');
    setInterval(function () {
        myDiv.fadeOut('slow', function() {
            var now = new Date().getTime();
            myDiv.load('test.jsp?unique=' + now, function() {
                myDiv.fadeIn('slow');
            });
        });
    }, 10000); 
});