2013-03-14 43 views
-2

我一直在寻找几个小时来找到jquery .load问题的最佳解决方案,其效果ie7和8,我有下面的代码块加载我的内容从外部jsp页面与上除了不断开溜IE7所有的浏览器和8IE7和8的jQuery加载()问题

$(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上加载。

+2

是否有显示在开发者控制台的任何错误或警告:

你可以像这样的东西所有这三个结合起来? – Nope 2013-03-14 23:19:42

+0

不,没有错误的CONSOLK – ComeRun 2013-03-14 23:39:34

回答

0

首先,如果您希望内容淡入,那么它必须最初隐藏。如果包含的div已经可见,它不能淡入。其次,IE的版本对于缓存有点热忱,你可以用URL中的唯一参数来打败缓存(就像你试过的一样)。

第三,​​不是动画,因此它不使用动画队列,因此如果您想在加载完成后执行某些操作,那么您需要在完成功能中完成此操作。你有这些最后两件,但没有把它们放在一起。

$(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); 
}); 
+0

当我设置新的日期,没有得到加载,甚至在浏览器的网页加载罚款以前! – ComeRun 2013-03-14 23:39:12

+0

@ComeRun - 那么也许你需要检查你的服务器,并查看它在URL中有查询参数时返回的结果。它可能是服务器拒绝任何具有查询参数的URL(这将是一种不寻常的做法)。尝试将'http://yourdomain.com/test.jsp?unique = 3333'放入浏览器中,看看显示的是什么。这会返回什么吗?您也可以通过让服务器返回指示浏览器不缓存该页面的正确头字段来解决此问题。 – jfriend00 2013-03-14 23:50:38