jQuery Обновить / Обновить страницу после успеха - PullRequest
13 голосов
/ 14 декабря 2009

есть панель переключения стилей в верхней части моей темы. Это работает по большей части, но вы должны нажать F5 или Обновить, чтобы увидеть новый стиль. Как мне закончить этот jQuery для автоматического обновления при успешном выполнении?

    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');
  }
 });

Ответы [ 5 ]

59 голосов
/ 14 декабря 2009

Вы можете использовать

success: function() {
    window.location.reload(true);
}
7 голосов
/ 14 декабря 2009
window.location.reload(true); 

сделает свое дело.

0 голосов
/ 24 марта 2017

вы можете использовать:

document.location.reload();
0 голосов
/ 23 октября 2016

вы можете использовать это может помочь вам

я получил этот код от , чтобы обновить страницу

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); 
   }
}
0 голосов
/ 14 декабря 2009

window.location = window.location.pathname выполнит обновление.

...