2013-06-27 48 views
1

我们有此Javascript功能反复刷新页面的一部分:jQuery和内存泄漏在IE

 function refreshScreen() { 
      var href = document.location.href; 
      var idx = href.indexOf('?'); 
      $jQ.get(href.substring(0, (idx > 0 ? idx : href.length)) + '?random=' + Math.floor((Math.random()*1000000000)+1), function(data) { 
       $jQ('#mainTable').replaceWith($jQ(data).find('#mainTable')); 
      }); 
     } 
     $jQ(document).ready(function() { 
      if ($jQ('#mainTable').is('.refresh')) { 
       window.setInterval(refreshScreen, 10000); 
      } 
     }); 

它可以在所有的浏览器,但在IE8它会导致内存泄漏(CCA 30MB /分钟)。我们已经尝试过jQuery 1.8.3。和1.10.1但结果相同。预先感谢您的回答。

+0

我在猜测#mainTable是相当大的尺寸。如果我正在做这样的事情,我会尽我所能去更新那些已经改变的表格行。这通常会使代码更加复杂,也许显着如此,并且可能不会完全消除内存泄漏,但可以使泄漏更少。 –

回答