0

我似乎在 IE9 中有内存泄漏。它在 Chrome 中运行良好。内存泄漏在客户端计算机上。我让这个页面在 chrome 中打开了好几天,没有泄漏。

使用 jquery 1.9.0,信号器 rc2

此页面使用信号器,并使用来自服务器的内容每 5 秒刷新一次其内容。

我有四个选项卡/div 可以做到这一点。

proxy.on('newRequests', function (data, updatetime) {
    newrequestupdatetime.text('Last updated: ' + updatetime);
    numberofnewrequests.text('Number of cases found: ' + data.length);
    numberofnewrequeststab.text('(' + data.length + ')');
    var h = '';
    $.each(data, function (i, val) { h += '<li><a href="/requests/' + val.Ref + '">' + val.Ref + '</a> ' + val.Type + '</li>'; });
    newrequests.html(h);
});

newrequests 是我这样初始化的页面上的 ul

var newrequests = $('#newrequests');

$(function () {});

不确定是什么原因。

我可以通过这样做使情况变得更糟。

    newrequests.empty();
    $.each(data, function (i, val) { newrequests.append('<li><a href="/requests/' + val.Ref + '">' + val.Ref + '</a> ' + val.Type + '</li>'); });
4

1 回答 1

2

我猜它与最后一行代码有关,它将新的 html 放在 ul 标记中。尝试将行更改为此(旧代码):

document.getElementById('newrequests').innerHTML = h;

另请参阅:jQuery - Internet Explorer 内存泄漏

于 2013-02-14T07:28:04.767 回答