-2

我一直在搜索几个小时以找到影响 ie7 和 8 的 jquery .load 问题的最佳解决方案,我有以下代码块,它从外部 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 上加载。

4

1 回答 1

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); 
});
于 2013-03-14T23:23:15.120 回答