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