0

I have the code that I've pasted below, helpfully supplied by another Stackoverflow member. I've added this code into a Kentico web part, and set the cache minutes=0, thinking that would solve my caching issue. It does, but not in IE. Is there any way I can tweak this code to refresh the content when the user comes to the page, or when we have to update the html file?

// article footer
Date.prototype.getWeek = function() {
    var onejan = new Date(this.getFullYear(),0,1);
    var today = new Date(this.getFullYear(),this.getMonth(),this.getDate());
    var dayOfYear = ((today - onejan +1)/86400000);
    return Math.ceil(dayOfYear/7)
};

jQuery(function(){
    //Quotes/Testimonials
    var today = new Date();
    var weekno = today.getWeek();
    jQuery('#quotes-wrapper').load('/quotesroller.html div.quote-'+weekno);         
});
4

2 に答える 2

2

キャッシュバスト パラメータを追加します。GET リクエストなので IE はうるさいし、常にコンテンツをキャッシュします。

var time = (new Date()).getTime();
jQuery('#quotes-wrapper').load('/quotesroller.html?_cb=' + time + ' div.quote-'+weekno);
于 2012-05-15T19:03:31.430 に答える
0

$.ajax()リクエストごとにキャッシングを制御したい場合のように、より複雑な関数を使用することをお勧めします。または、すべてを無効にしたい場合は、スクリプトの先頭に次のように記述します。

$.ajaxSetup ({
    // Disable caching of AJAX responses
    cache: false
});

編集: このリクエストのためだけにキャッシュを設定しないようにするには、負荷を次のように置き換えます。

$.ajax({
    url: '/quotesroller.html div.quote-'+weekno, //that's based on your URL above
    cache: false,
    success: function(result) {
        jQuery('#quotes-wrapper').html(result);
    }
});
于 2012-05-15T19:04:49.423 に答える