سؤال

لديك شريط الجلاد نمط عبر الجزء العلوي من موضوعي. يعمل في معظمها، ولكن عليك أن تضغط F5 أو تحديث لرؤية النمط الجديد. كيف يمكنني الانتهاء من هذه المستقية للتحديث التلقائي عند التنفيذ الناجح؟

    jQuery.fn.styleSwitcher = function(){
    $(this).click(function(){
        loadStyleSheet(this);
        return false;
    });
    function loadStyleSheet(obj) {
        $('body').append('<div id="overlay" />');
        $('body').css({height:'100%'});
        $('#overlay')
            .css({
                display: 'none',
                position: 'absolute',
                top:0,
                left: 0,
                width: '100%',
                height: '100%',
                zIndex: 1000,
                background: 'black url(http://mytheme.com/loading.gif) no-repeat center'
            })
            .fadeIn(500,function(){
                $.get( obj.href+'&js',function(data){
                    $('#stylesheet').attr('href','css/' + data + '.css');
                    cssDummy.check(function(){
                        $('#overlay').fadeOut(500,function(){
                            $(this).remove();
                        }); 
                    });
                });
            });
    }
    var cssDummy = {
        init: function(){
            $('<div id="dummy-element" style="display:none" />').appendTo('body');
        },
        check: function(callback) {
            if ($('#dummy-element').width()==2) callback();
            else setTimeout(function(){cssDummy.check(callback)}, 200);
        }
    }
    cssDummy.init();
}
$.ajax({
  success:function(){
       $('#overlay').load('http://mytheme.com');
  }
 });
هل كانت مفيدة؟

المحلول

يمكنك استخدام

success: function() {
    window.location.reload(true);
}

نصائح أخرى

window.location.reload(true); 

سوف تفعل الخدعة.

window.location = window.location.pathname سوف يؤدي التحديث.

يمكنك استخدام هذا قد يساعدك

حصلت على هذا الرمز من لتحديث الصفحة

success: function(data){
   if(data.success == true){ // if true (1)
      setTimeout(function(){// wait for 5 secs(2)
           location.reload(); // then reload the page.(3)
      }, 5000); 
   }
}

يمكنك استخدام:

document.location.reload();
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top