Ir para conteúdo

POWERED BY:

Arquivado

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

jadsonlucena

PushState como utilizar os seus recursos e suas funções?

Recommended Posts

Sendo bem direto, vou me basear neste exemplo que encontrei aqui no fórum: http://html5.gingerhost.com/

 

Gostaria que vocês me ajudassem com essas duas dúvidas?

 

1 - Olhando o código-fonte você perceberá que todos os conteúdos requisitados são de alguma forma inseridos nele.

 

Eu tentei usar o innerHTML na requisição do ajax mas não funfou.

 

 

2 - Mesmo as página não existindo ou sendo diretórios ou até mesmo sendo arquivos o server não redireciona e não gera o erro 404.

 

Eu tentei usar o htaccess :

RewriteEngine On

RewriteRule . /index.php [L]

Mas ele só que funcionar se for assim:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

E desata forma ele irá ignorar os arquivos e diretórios.

 

 

Mesmo que você não saiba responder as duas dúvidas, qualquer contribuição será bem vinda!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tentei usar o innerHTML na requisição do ajax mas não funfou.

pq? qual foi o problema/erro ?

 

2 - Mesmo as página não existindo ou sendo diretórios ou até mesmo sendo arquivos o server não redireciona e não gera o erro 404.

Não redireciona nem acessando diretamente ?

 

 

Ficou só um pouquinho difícil de entender qual a dúvida, e no final vc não fez nenhuma pergunta.. só afirmações..

Compartilhar este post


Link para o post
Compartilhar em outros sites

William Bruno, acredito que vc não olhou o link que postei, portanto vc não entendeu as minhas afirmações.

 

Tudo que escrevi foi em relação a análise do site referente ao link, pois estou fazendo o meu script em javascript e estou tendo dificuldades para replicar os recursos do link referencia.

 

pq? qual foi o problema/erro ?

Não é que o innerHTML não tenha funfado, ele infelizmente não está inserindo o conteúdo requisitado no código-fonte da page como a do link exemplo. Isto é referente ao SEO.

 

Não redireciona nem acessando diretamente ?

Eu gostaria de saber como fazer isso. Direcionar tudo para a index processar, inclusive diretório e arquivos. E não redirecionar a page para o arquivo ou diretório por motivos de segurança e também, não gerar um erro 404 se a url não for padrão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tá.. mas qual a sua dúvida ? como vc tentou ?

 

Lá no site, tem todo o código utilizado, e ele funciona. O que exatamente vc não entendeu ?

Note que para o pushState fazer sentido, e o seu SEO funcionar bem, as suas páginas internas devem responder corretamente, se chamadas diretamente:

 

http://html5.gingerhost.com/new-york

 

 

Quanto a redirecionar tudo para a index, vamos deixar para depois, ok ?

(até pq 404 são páginas necessárias, e se todos os seus 404 responderem na tua home, o seu SEO será prejudicado).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então vamos nos resumir no ajax.

 

Meu código é em puro javascript com uma simples requisição ajax utilizando o pushState e o onpopstate e por se esperar a requisição ajax me retorna os conteúdos dos arquivos tranquilamente.

 

Mas o que me intriga é: Como fazer com que o conteúdo requisitado seja inserido no código fonte da index. É algum elemento object novo (para o html5) ou algum método específico?

 

Pois em alguma página dos artigos do google eu li que o logaritmo dele, lê as página para obter uma busca mais apurada.

 

E este recurso que estou querendo saber fazer, colocaria meus sites em uma melhor colocação no ranking das buscas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não existe isso =)

 

Sério.. só faz o pushState e faz o seu site responder a URL correta.

Vc tá confundindo o que tá acontecendo, onde não tem nada de mais, vc está achando que tem mágica..

Compartilhar este post


Link para o post
Compartilhar em outros sites

William, então de boa, me explica como o cara fez para inserir o código fonte da página requisitada???

 

veja o código-fonte do site: http://html5.gingerhost.com/new-york

 

Isso ainda é um mistério para mim. ;-P

 

 

Porque se não existe, como isso acontece??? Estou endoidando???. rsrs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele não inseriu..

Pensa um pouquinho comigo.. se vc tiver um arquivo:

 

new-york.html

 

e escrever um htaccess para que ele interprete php, e retire a extensão, vc vai conseguir acessar ele assim:

 

www.site.com.br/new-york

 

 

(sendo esse cara tendo includes de topo e rodapé)

 

certo ?

pronto. É só isso.

 

 

É só uma URL válida que responde corretamente a requisição GET. Tão simples qnto isso, sem nenhuma mágica.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então você quis dizer que ele não esta fazendo requisições assíncronas e sim chamando a própria página, mas sem a extenção .php do arquivo? Ou ele estava utilizando uma requisição queriString?

 

Eu não entendi direito a sua explicação. Mas se você iniciar o vídeo da coluna direita em baixo e acessar os link horizontais (Home | Seattle | New York | London), você perceberá que o vídeo não será interrompido enquanto você navega no site. Isto é prova suficiente que ele está utilizando ajax e pushState. Mas como ele faz isto não tenho a minima ideia...

Compartilhar este post


Link para o post
Compartilhar em outros sites

São 2 coisas.

 

1. Qndo vc clica no link, é sim enviada uma requisição assincrona.

2. Qndo vc acessa a página, ela é respondida pelo server-side, sem nenhuma interferência do javascript client.

 

Entendeu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então faça isto:

 

1 - Acesse o site: http://html5.gingerhost.com/

2 - Navegue tranquilamente em todas as página

3 - Em uma delas clique com o botão direito e escolha a opção "Exibir código-fonte da página"

4 - Vá na tag "<article class="post">"

 

 

Você constatará que de fato o conteúdo está sendo inserido de alguma forma no código-fonte da página.

 

E depois de tudo isso estarei esperando a sua defesa. Rsrsrs

Compartilhar este post


Link para o post
Compartilhar em outros sites

@jadsonlucena,

 

Vou fazer melhor que isso. Vou subir um sitezinho estático aqui.

Funciona da forma que eu disse.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@jadsonlucena, estive meio ocupado, segue o projetinho:

 

https://github.com/wbruno/static-server-ajax

 

Bom que já vou utilizá-lo para outras coisas também.

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.