我们有这个Javascript功能,可以反复刷新页面的一部分:
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 / min)。我们尝试过jQuery 1.8.3。和1.10.1,但结果相同。提前感谢您的回答。
答案 0 :(得分:0)
尝试
....
$jQ.get(href.substring(0, (idx > 0 ? idx : href.length)) + '?random=' + Math.floor((Math.random()*1000000000)+1), replaceWithData });
....
function replaceWithData(data){
$jQ('#mainTable').replaceWith($jQ(data).find('#mainTable'));
}
对于我的一个项目,我删除了“闭包”,因为导致内存泄漏(循环引用)。
请参阅:http://www.codeproject.com/Articles/12231/Memory-Leakage-in-Internet-Explorer-revisited