jQuery обновить/перезагрузить страницу после успеха

иметь панель переключения стилей в верхней части моей темы. По большей части это работает, но вам нужно нажать 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');
  }
 });

person Greg    schedule 14.12.2009    source источник


Ответы (5)


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

success: function() {
    window.location.reload(true);
}
person Mickel    schedule 14.12.2009

window.location.reload(true); 

будет делать свое дело.

person Wookai    schedule 14.12.2009
comment
просто поместите этот код внутри блока $.get(), может быть чуть выше строки, где вы обновляете элемент #stylesheet. - person Firnas; 16.09.2016

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

person Jordan Ryan Moore    schedule 14.12.2009

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

document.location.reload();
person Jonathan Burgos Gio    schedule 24.03.2017

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

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

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); 
   }
}
person naveen kumar    schedule 23.10.2016