jQuery-使用.remove()/.after()进行内存泄漏/垃圾收集

jQuery-使用.remove()/.after()进行内存泄漏/垃圾收集,jquery,memory,memory-leaks,garbage,jquery-after,Jquery,Memory,Memory Leaks,Garbage,Jquery After,在整个周末都打开浏览器窗口后,今天早上我带着一个装有软管的IE来到办公室。我正在做一个“统计”仪表板栏,每30秒更新一次 返回的是一个html字符串,作为完整的xcontents 我将这个附加到DOM中,在我的“real”div之后,#ajaxreturn,它实际上使用了其他内容。我想让这件事在它之后出现 如果它存在,请将其从dom中删除。 将结果附加到dom $(function(){ function getAD() { var request = $.ajax({

在整个周末都打开浏览器窗口后,今天早上我带着一个装有软管的IE来到办公室。我正在做一个“统计”仪表板栏,每30秒更新一次

返回的是一个html字符串,作为完整的xcontents

我将这个附加到DOM中,在我的“real”div之后,#ajaxreturn,它实际上使用了其他内容。我想让这件事在它之后出现

如果它存在,请将其从dom中删除。 将结果附加到dom

$(function(){
function getAD() {
    var request = $.ajax({  
        url: "getdashboard/"
        ,  type: "GET"              
        ,  cache: false
        ,  dataType: "html"
    });
    request.done(function(msg) {
        if($('#adminbar').length){
            $('#adminbar').remove();
        }
        $('#ajaxreturn').after(msg);
    });
}

//INIT AND RELOAD INTERVALS

//get DashBoard
getAD();
//and then look for updates every 30 seconds
var gb = setInterval(getAD,3000);
});
我的假设是,这将破坏或发送到垃圾收集。但事实似乎并非如此。我每30秒向IE会话添加大约15KB


除了remove(),我还应该使用其他东西吗?

正如我所知,jQuery缓存所有内容并将其放入$.cache

您需要使用以下命令禁用缓存:

$.ajaxSetup({cache:false})

jQuery.cache={}

Sizzle.selectors.cacheLength
$.expr.cacheLength=1