2013-06-27 67 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是相當大的尺寸。如果我正在做這樣的事情,我會盡我所能去更新那些已經改變的表格行。這通常會使代碼更加複雜,也許顯着如此,並且可能不會完全消除內存泄漏,但可以使泄漏更少。 –

回答