Como Pegar o Valor de Ancora do URL

Eu sou programador PHP há mais de 7 anos e nunca havia me deparado com uma necessidade tão básica:

“Pegar o valor de uma Ancora HTML passada pelo URL”

Até que um belo dia, meu amigo Thiago Régis, me veio com esta (como sempre, ele me vem com cada pepino!).

Então, como bom amigo e cheio de paciência lá fui eu atrás das pesquisas e tal, até que juntando uma informação daqui e outra dali cheguei a um resultado satisfatório.

Infelizmente, apesar desta informação ser passada para o servidor através da solicitação HTTP, não é possível resgatá-la via PHP, limitando assim o uso somente para interfaces em Javascript que, é claro, rodam somente no cliente.

Entretanto, como o que meu amigo queria era justamente pegar este valor para aplicar um efeito de scroll na página, ficou bem óbvio que o cliente precisaria estar com o Javascript habilitado, e a única solução encontrada, que é em Javascript vai funcionar perfeitamente:

var ancora = window.location.href.split("#")[1];

if(ancora) {

alert(ancora);

}

O código acima está resumido em um única linha, mas programadores mais embustidos fariam assim:

var ancora = window.location;

ancora = ancora.split("#");

ancora = ancora[1];

if(ancora) {

alert(ancora);

}

Resumidamente, para quem gosta de tudo explicadinho, e em Javascript é bom explicar:

var ancora = window.location.href;

É responsável por pegar o URL completo

split("#")

Vai transformar o String em um Array dividindindo o mesmo onde ele encontrar o sinal “#”.

[1]

Captura o ultimo valor do novo Array, uma vez que somente vamos ter uma ancora por URL,

0 é o url antes da ancora, e 1 é a ancora, porque os Arrays começam em 0.

É isto aí! Agora é só usar isto sei lá quando você precisar!

2 comentários sobre “Como Pegar o Valor de Ancora do URL”

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *