Ir para conteúdo

POWERED BY:

Arquivado

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

Cícero Martins

[Resolvido] Pegar URL (endereço)

Recommended Posts

Salve tripulação,

 

Estou com uma dúvida que quebrei a cabeça e não consegui resolver...

 

 

É o seguinte..

 

 

Eu fiz um ajax para carregar novas páginas quando o usuário clicar no link sem precisar dar refresh na tela toda...

Até aí tudo bem...

 

Porém, quando o usuário clica no link por exemplo, ele retorna na barra de endereços do navegador...

Agenda: www.meusite.com.br/#agenda

Fotos: www.meusite.com.br/#fotos

 

Sei que não havia necessidade de retornar mas fiz isso para dar possibilidade de os usuários compartilharem os links direto para a página.

 

 

Porém tem um detalhe..

Quando o usuário acessar direto, por exemplo, www.meusite.com.br/#videos... Preciso que a página aberta já seja a de vídeos. Para mim saber qual página que o usuário quer abrir, acessando o link direto, eu preciso pegar a URL que ele acessou.

 

Tentei fazer um $_SERVER["PHP_SELF"], $_SERVER["REQUEST_URI"]... Nada deu certo... Fiz um tente de acessar assim:

www.meusite.com.br/index.php?cespartaco#teste_de_url

 

Ele quebra a URL no "#"... Ou seja, como se o que tivesse após o quadrado (#) não existisse mais.

 

Alguém sabe como pego a url completa sem ignorar qualquer caractere que exista nela?

 

 

Um abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Cícero,

 

Caso não queira trabalhar com o .htaccess, existe uma forma talvez um pouco mais simples, que é recuperar essa url através de javascript. Você pode colocar talvez uma função onload() carregando a função que detecta a url. veja abaixo um exemplo:

 

<script language="javascript">

function detectaUrl(){

u = document.URL.split('#');

url = u[1];

alert(url);

}

</script>

 

Claro que precisa ser aperfeiçoada, afinal fiz agora rapidinho, mas ao testar verá que ela retornará o que estiver após o "#", dessa forma você pode direcionar o site à pagina desejada ou carregar a página desejada através de ajax.

 

Espero que ajude...

 

Abraço

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

como você esta usando ajax, nao ha problema em verificar isso com JS

 

function pega_ancora()
{
var url		= window.location;
url		= url.toString();
url		= url.split(".com.br/#");
url		= url[1];

if(url == null)
{
	url = 0;
}
else{
	url = url;
}

return url;
}

 

peguei essa função em algum lugar, nao lembro aonde

 

 

------

edit

------

 

nao use com onload - js obstrusivo não :)

use nos eventos onclick

Compartilhar este post


Link para o post
Compartilhar em outros sites

não

mas usando AJAX você passa ela para a página

 

apenas um exemplo ilustrativo!

 

<js>
pagina = pega_ancora();

$.post('pagina.php', {p:pagina},function(data){
...
});
</js>

 

 

quando alguem clica no link, você usa js para carregar o conteudo dentro de uma div, correto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

menusite.com.br/#pagina?texto=hahahahahaha

 

# é uma ancora, apenas faz referencia à um elemento

nada após a ancora é executado

 

você pode usar o proprio JS para pegar as informações

o orkut faz assim se não me engano

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, tudo bem..

 

Mas como utilizaria esta função que citou?

 

$.post('pagina.php', {p:pagina},function(data){
...
});

 

 

Pelo que me parece isso enviaria o que estivesse após a # para a página... Estou certo?

 

 

Se sim, i que é essa função data com os "..." dentro? O que teria aí?

 

 

Ressalto que eu não sei quais as variáveis que serão passadas pela URL.

 

 

Não é algo fixo...

 

 

Abraços.

Cícero Martins

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.