我每500毫秒更新一次页面的值,并注意到由jquery的$.ajax
方法导致IE9中存在内存泄漏。
以下是一个例子:
var refreshId = setInterval(refresh, 500);
function refresh() {
$.ajax('/url/object?get=theObjectNeeded');
}
在示例中,我没有对值进行任何操作,但通常是JSON
请求,我会根据该值填充值。无论哪种方式都存在内存泄漏。
我在Firefox 4和IE8上尝试了相同的代码,但没有发生泄漏。
有没有其他人遇到此问题,有没有人知道解决方案/黑客?我能做的一件事是每隔几个小时刷新一次页面以释放内存,但我不想这样做。
答案 0 :(得分:2)
我的猜测是ajax请求没有像堆叠一样快。为防止这种情况发生,您可以确保一次只发生一次刷新请求。
function refresh() {
$.ajax({
url: '/url/object?get=theObjectNeeded',
success: function(){
setTimeout(refresh, 500);
}
});
}