我的應用程序(ASP.NET MVC)顯示一個頁面,它以固定的時間間隔不斷加載數據。jQuery,.empty()和內存
jQuery腳本調用一個控制器,並根據某些條件呈現不同的局部視圖。
這個局部視圖是附加到帶有jQuery的DOM;先前的元素用empty()方法刪除。
$(document).ready(function() {
var ScheduledAction = function(func, times, interval) {
var ID = window.setInterval(function(times) {
return function() {
if (times > -1) {
if (--times <= 0)
window.clearInterval(ID);
}
func();
}
} (times), interval);
};
ScheduledAction(function() {
LoadAppointments();
}, -1, <%=Model.RefreshTimeout %>);
});
function LoadAppointments() {
$("#AppointmentsList").empty();
$('#loading').html("<img src='Images/bigloader.gif' />");
$.get(UrlAction,
function(data) {
if (data != '') {
$('#AppointmentsList').append(data);
$('#loading').empty();
}
else {
$('#loading').fadeOut(3000, function() { $('#loading').empty(); });
}
});
}
控制器(UrlAction)返回一個局部視圖。對於每次往返,局部視圖都不同。一旦部分視圖僅包含圖像。在其他情況下是一些有一些信息的div。
我意識到一天後瀏覽器會加載600Mb的內存。 我在做什麼錯?
*哪些*瀏覽器?這是一個非常重要的細節,因爲有些垃圾收集很糟糕。 – 2010-05-27 12:26:11
是的,我認識尼克。我們正在使用IE8。看起來FF的效果更好,但是我被這個大巴卡住了:-s和我無法改變它。 – LeftyX 2010-05-27 13:27:23