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