0

週末ずっとブラウザ ウィンドウを開いたままにした後、今朝、ホースで接続された IE を持ってオフィスに来ました。30 秒ごとに更新される「統計」ダッシュボード バーを作成しています。

戻り値は、完全な xcontents としての html 文字列です。

これを DOM の '本当の' 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 秒ごとに約 15 KB を IE セッションに追加します。

remove() 以外のものを使用する必要がありますか?

4

1 に答える 1

0

私が知っているように、jQueryはすべてをキャッシュして $.cache に入れます

次を使用して、キャッシュを無効にする必要があります。

$.ajaxSetup({cache:false});

jQuery.cache = {}

Sizzle.selectors.cacheLength $.expr.cacheLength = 1 https://github.com/jquery/sizzle/wiki/Sizzle-Documentation#sizzleselectorscachelength--数値

于 2013-12-01T16:28:53.280 に答える