Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

KS_Scream

Voltar não funciona em pag carregada com jquery

Recommended Posts

Boa noite.

Tenho um projeto no qual carrego todas as páginas com jquery, com o acript abaixo:


$(document).ready(function(){
var content = $('#main');


//pre carregando o gif
loading = new Image(); loading.src = 'images/template/ajax-loader.gif';
$('a').live('click', function( e ){
e.preventDefault();
content.html( '<img src="images/template/ajax-loader.gif" />' );


var href = $( this ).attr('href');
$.ajax({
url: href,
success: function( response ){
//forçando o parser
var response = $( '<div>'+response+'</div>' );


var data = response.find('#main').html();


//apenas atrasando a troca, para mostrarmos o loading
window.setTimeout( function(){
content.fadeOut('slow', function(){
content.html( data ).fadeIn();


var title = response.find('title').text();
window.history.pushState( href, title, href );
document.title = title;
});
}, 500 );
}
});


});
});

As pags carregam exatamente como deveriam, porém se eu clicar "backspace" ou no botão "voltar" do navegador nada ocorre, ou seja, não ocorre a troca de página, alguém pode me ajudar?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O pushState não libera as funções de backspace/voltar. Você vai precisar do popState.

 

Ex:

$(window).on("popstate", function () {
  if (history.state && "Produtos" === history.state.page) {
    load(history.state.name);
  }
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.