Ir para conteúdo

Arquivado

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

FelipeSAMA

Histórico com Ajax, problema ao voltar para home page

Recommended Posts

Saudações e mais uma vez, agradeço a quem estiver ajudando.

 

Desenvolvi uma página com Ajax, porém desta vez quero habilittar o uso de histórico. Me basiei neste script (créditos ao autor: Alan Tiel): HIstórico com Ajax

 

Porém, tenho uma dúvida que não consigo solucionar. Quando se carrega a index, o conteúdo da div é vazio por padrão, desta forma eu faço o seguinte.

 

$(document).ready(function(){
	$("#load").load('php/home.php', function() {
                    //chamada de uma função para rodar o banner    
		$('#slidecontent').lofJSidernews( {interval:6000,
			   direction:'opacity',
			   duration:500,
			   easing:'easeInOutSine'} );	
	});

 

Isso faz com que o div #load carregue um conteúdo inicial para a home. Entretanto quando eu clicar em outro link e depois retroceder para a página inicial, nada é carregado oO.

 

Alguém sabe como resolver?

Compartilhar este post


Link para o post
Compartilhar em outros sites

resolva sem javascript.

 

carregue a tua home com um include php, por exemplo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, testou ?

 

Vlw pela dica, vo tentar! Já posto o resultado

 

Testei, mas não deu muito certo.

 

<div id="wrapper">
<?php include("home.php"); ?> 
</div>

 

O conteúdo aparece por um pequeno nstante, mas depois fica em branco outra vez.

 

OBS.: EU tirei o método de carregar com jquery, era isso mesmo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, ai você tira o load.

 

Ainda tem alguma coisa em js removendo, reveja teus códigos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, ai você tira o load.

 

Ainda tem alguma coisa em js removendo, reveja teus códigos.

 

Primeiro eu deixei todos os cripts no head como comentário, e deu certo o carregamento (exceto pelo fato do banner não estar funcionando), e seguinte fui adicionando 1 por 1 até que desse algum problema. O scriot que deu problema é justamente aquele que eu preciso pra ativar o histórico

 

<script type="text/javascript" src="js/jquery.history.js"></script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

De voltta!

 

Eu tava de férias, e abandonei temporariamente o post =d

 

Consegui resolver a situação de voltar para o home e não ficar em branco, para isso eu achei um plugin, que na minha opinião é muito melhor, vale a pena compartilhar pra quem não conhece:

 

BARBECUE: Back Button & Query Library

 

 

Embora o problema de voltar até a página inicial tenha sido resolvido, eu encontrei outro, se alguém puder me ajudar, queria saber como que faço para que um outro plugin de jquery funcione dentro de uma página caregada por ajax, neste caso pelo plugin BBQ.

 

Eu já tinha feito um post perguntando isso, mas servia para usar diretamente o método load, neste caso não estou mais usando, agora migrei para o BBQ.

 

O código para fazer funcionar é este(A parte do load está na linha 35, deixei destacado pulando 5 linhas):

 

$(function(){
// Keep a mapping of url-to-container for caching purposes.
var cache = {
// If url is '' (no fragment), display this div's content.
'': $('.bbq-default')
};
// Bind an event to window.onhashchange that, when the history state changes,
// gets the url from the hash and displays either our cached content or fetches
// new content to be displayed.
$(window).bind( 'hashchange', function(e) {
// Get the hash (fragment) as a string, with any leading # removed. Note that
// in jQuery 1.4, you should use e.fragment instead of $.param.fragment().
var url = $.param.fragment();
// Remove .bbq-current class from any previously "current" link(s).
$( 'a.bbq-current' ).removeClass( 'bbq-current' );
// Hide any visible ajax content.
$( '.bbq-content' ).children( ':visible' ).hide();
// Add .bbq-current class to "current" nav link(s), only if url isn't empty.
url && $( 'a[href="#' + url + '"]' ).addClass( 'bbq-current' );
if ( cache[ url ] ) {
// Since the element is already in the cache, it doesn't need to be
// created, so instead of creating it again, let's just show it!
cache[ url ].show();
} else {
// Show "loading" content while AJAX content loads.
$( '.bbq-loading' ).show();
// Create container for this url's content and store a reference to it in
// the cache.
cache[ url ] = $( '<div class="bbq-item"/>' )
// Append the content container to the parent container.
.appendTo( '.bbq-content' )
// Load external content via AJAX. Note that in order to keep this
// example streamlined, only the content in .infobox is shown. You'll
// want to change this based on your needs.





.load( url, function(){





// Content loaded, hide "loading" content.
$( '.bbq-loading' ).hide();

});
}
})
// Since the event is only triggered when the hash changes, we need to trigger
// the event now, to handle the hash the page may have loaded with.
$(window).trigger( 'hashchange' );
});

 

Normalmente eu teria que incluir da seguinte forma:

 


   .load( url, function(){  
           $('#slidecontent').lofJSidernews( {interval:6000,
      direction:'opacity',
      duration:500,
      easing:'easeInOutSine'} );  


   // Content loaded, hide "loading" content.
    $( '.bbq-loading' ).hide();

});     



 

Mas dessa vez não está funcionando.... Alguém pode me dar um helps ae??

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.