0

IE9 でメモリ リークが発生しているようです。Chromeで問題なく動作します。クライアント マシンでメモリ リークが発生しています。このページをクロムで何日も開いたままにしましたが、リークはありませんでした。

jquery 1.9.0、signalr rc2を使用

このページはシグナルを使用し、サーバーからの内容で 5 秒ごとにコンテンツを更新します。

これを行う 4 つのタブ/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 に答える