Este artigo vem no seguimento de um outro sobre os O Elemento Âncora [a], embora na verdade foi por querer escrever este artigo que escrevi o anterior... Confuso? :-P
Eu explico: Quando pensei em escrever sobre os comportamentos de ligações âncora com o href vazio ou quase, e o que acontece ao clicarmos num desses elementos, tive que preparar o caminho antes com o artigo sobre O Elemento Âncora [a].
Na verdade a intenção era incluir tudo num só artigo, mas como muitas vezes acontece, o texto foi crescendo e tive que optar por deixar o que me inspirou a escrever o artigo em primeiro lugar para o artigo de hoje.
Então vamos a isso.
Existem algumas situações onde precisamos de incluir uma ou outra ligação onde não existe um endereço URL, mas sim um vazio ou algo parecido:
<a href="">
<a href="#">
<a href="#0">
<a href=".">
<a href="?">
<a href="data:">
<a href="video.mp4#t=10,20">
<a href="javascript:void(0)">
Vejamos então o que significa cada uma dessas opções e o que acontece ao clicar em algum elemento contendo uma dessas situações:
- <a href="">
Recarrega a página actual, preservando o parâmetro de pesquisa, mas removendo o símbolo cardinal [#], se estiver presente na URL.
Ligações com href vazios significam basicamente navegar novamente para a página actual.
É como se fosse uma actualização que reenvia os dados para o servidor.URL passa a ser /path/ /path/ /path/#foo /path/ /path/?id=foo /path/?id=foo /path/?id=foo#bar /path/?id=foo - <a href="#">
Desloca a página para o topo.
Mas atenção, #top também irá rolar a página para o topo, e nem precisa existir um elemento com id="top".
Exemplos: - <a href="#0">
Não faz nada desde que não exista na página nenhum elemento com id="0".
Mas se, por algum motivo, tiveres um elemento com esse ID, basta utilizares outro valor inexistente na página que também funciona.
Exemplo: - <a href=".">
Recarrega a página atual, removendo os parâmetros de pesquisa e o símbolo cardinal [#].
Mas na verdade, talvez seja mais adequado sizer que "carrega a página para o diretório actual, com base na estrutura do URL", o que pode ser uma recarga, mas também pode ser algo diferente dependendo da URL em questão.Nota: Se utilizares href="." como uma ligação para a página actual, certifica-te de que os endereços URL têm uma barra [/] no final, caso contrário, poderão ocorrer comportamentos inesperados.
O navegador vai interpretar o caminho como se fosse um ficheiro, pelo que "." vai passar a ser o directório acima da localização actual.URL passa a ser /path / /path/#foo / /path/?id=foo / /path/ /path/ /path/#foo /path/ /path/?id=foo /path/ /path/index.html /path/ - <a href="?">
Recarrega a página atual, removendo os parâmetros de pesquisa e o símbolo cardinal [#], se estiverem presentes na URL, mas vai preservar o carácter "?".
Nota: Ao contrário de href=".", as barras finais [/] não importam.
Os parâmetros de pesquisa serão removidos, mas o caminho será preservado tal como está.URL passa a ser /path /path? /path/#foo /path? /path/?id=foo /path? /path?id=foo#bar /path? /index.html /index.html? - <a href="data:">
Ligações para URLs de dados, como fragmentos de texto ou imagens com a codificação Base64.
Exemplo:- Clica aqui para abrires uma imagem codificada com a codificação Base64
<a href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAE2klEQVRYw+2XS4hcRRSGv1O3bk/3PDKZGTNJJg/MxCQQomiMRDFi0CzcmY0oqODahRiIW3Hhxr0ICm7UqBuzEwQlYiKoi8gYJME8JA/MvCczPZ3p7nur6ri4j+mZZBFRyMJcuJzb91H/X/85569qy10+7D0C9wjcfQIilpf2pf21XhaajTv66Ofv6/8KNOrrxS82eHzyfGyBKgrvvfoGN9ut7A0RRKDLVoitJY4yoSITIQIPv+iz1/IBtYjeo5pFAE1TgnNokmT38zelVuPcW28DVC1gUeX8xDUm63MlSzEGEQEhj5JF4PmxJbJHkhNQVOm4zqBCRwwaUEAVonVDZL+wFqASWZpJm9S5DMgIEjQHN7kosjxl74q5lKAAWrDIr6WI+VkSa7XROO4oQoV68yapd4gR0Gy2GWhAjGC9Z0dPiw29jsvPJPRcN5jpiP7JGKtSoC4rWBLKgMtnQdHFRqFAQUBJvSMNHtFMASgijJiUQ5s9vy70cLpueaJSZ+gPS3skMPdUm7U/CZWm6QAtZUAACYX8uQrOEVa0oYILHufzFKhk0isMVx1Hdi1x9VIfL48tUg3K9K4mvt7Nzaoyt6mHcHiOoS9j4lTQcHsV0I7TefxqBRKXkniXSa8GxGNEOLp3kgHpRi7OMXT/HsyWrTTXLVEZ6qXnym/4y5Nol2fu0SbDJ7tXpKG80kBZgRpQG+GVlQTarTbNpIkxBjEGBAZNytXZhGosxGMQH32M9v69/HDiAq8d3on9tEH07RXkUoTf3abZlLIAFVARVJWAEjTrBq8BRFbVQFDaPsUFj6pHggERHhhYZGLRcW2+xuiT84zXrzN/boThvohTZyfo652i/cgiG6MKfqRFX2pX5L/QQFQxqoSiM2yKX23FLvgyBSoBYwRLgpGUehoYPRczs0mZHWhjfWBmKWHTRETXRUu6zaEk4NzKbtCAIEjeCaJZYsR7wooUhKwLEt/hAyqM3YiZj4TJ+ZgXJhpsX5pndP8on313ltcPbGP2+DSJAV3XQi8rJMmyO2inQ+QdURRhbG9ThCUBkGAQI1zxhlcGbzDV3+LEvj62X/uCnZ9UeXZ4MzMfvc8Ze4qtBzey/ukFZr82SGLRFa5f2iOCQtBMjeQWAnkKXJrNXgyEbCrHLnTz5kNznN4Ne84PYD7+nBEsjZqy4blhdM04f11p0X+8fzkFed5RLfs9a4KQpcGH1T6gJM5lTqiCli4IZxZiPvy9j4NbFnh37QALhwZ5h0VGfzHc9+cUjUqL6IMqPbMB8mG1BMyLDi1TgiqkKU5XdYELDhc8aLbwZBYGiOHH2SpnZ4UD6xd4cNsM3XGLhotojxsGj1XpSQ2UohZAHYAdxhRUUe9vJZAmKWmaghEwpiQhEkBgCsvx8TUwAUe+me9YigKF0CqsrAFddkLJlQ4oLk1JOmsgVkG8YlUQiZAoykl0UKdjNazEuUDLOwIFTGF2xeqY3wulOWXLcqJKM4qWCXRHFWpE9NX6sbUuTMUiUa5CwUEEzaPZWM0IyCrnA0QzJVAtwU1ejAFF05SldotWV2WZQE+1hpluYLu6iKueqBKXg9/uOOlb/3gbpoBXpRlS6mkL210rCbjLX53cAfTe6WCH/5v9aANwFmgBE3dhh+yAlkXV5Wzu/TH5fxL4GzSIzJx+YP0hAAAAAElFTkSuQmCC">Clica aqui para abrires uma imagem codificada com a <b>codificação Base64</b></a> - Clica aqui para abrires um texto que está na href
<a href="data:text/plain,Bem-vindos aqui ao meu blogue"> Clica aqui para abrires um texto que está na href</a> - Clica aqui para abrires um ficheiro HTML, cujo conteúdo está na href
<a href="data:text/html,%3Cb%3EBem-vindos%3C%2Fb%3E%20aqui%20ao%20meu%20blogue" target="_blank">Clica aqui para abrires um ficheiro HTML, cujo conteúdo está na href</a>De notar que é recomendado que as URLs de dados sejam codificadas para evitar comportamentos inesperados.
Além da já referida codificação Base64, também podem utilizar a codificação de URL.
- Clica aqui para abrires uma imagem codificada com a codificação Base64
- <a href="song.mp3#t=10,20">
Ligações para partes específicas de um ficheiro de média, seja áudio ou vídeo.
No exemplo [song.mp3#t=10,20] cria-se uma ligação para um áudio em que a reprodução começa aos 10 segundos e termina aos 20 segundos.Para exemplo prático, em vez duma ligação, podem testar no leitor de áudio em que somente toca o fragmento entre os 10 e os 20 segundos:
Até nos vídeos do YouTube se pode utilizar uma versão deste esquema:Clica aqui para veres um fragmento dum vídeo que começa aos 25 segundos e termina aos 55 segundos.
<a href="https://www.youtube.com/embed/FiBRAPOHgWY?start=25&end=55">Clica aqui para veres um fragmento dum vídeo que começa aos 25 segundos e termina aos 55 segundos.</a>
- <a href="javascript:void(0)">
Não faz nada.
Utilizar este conteúdo numa ligação somente serve para impedir que a mesma nos leve para outra página e garante que o comportamento de rolar para o cimo da página seja cancelado.Isto é o chamado Javascript na URL, e neste caso em que o objectivo é essencialmente criar uma ligação com JavaScript nulo, existem outras variações com o mesmo resultado:
<a href="javascript:void(0)"> <a href="javascript:{}"> <a href="javascript:null">Agora convém mencionar que embora este tipo de ligação e o texto sejam inofensivos porque não fazem nada, esta prática é desencorajada porque viola a Política de Segurança de Conteúdo.
Umas razões é que este método pode também ser utilizado para injectar código malicioso.
Como devem ter reparado, mantive a coisa o mais simples possivel.
Mas caso tenha alguma questão, podes deixar a tua(s) dúvida(s) nos comentários.
E por hoje é tudo. ;)
Até Breve. :-F

Comentários
Malta, comentem, tanto críticas como elogios serão bem-vindos. E eu respondo, não prometo quando mas respondo.
Mas antes de comentarem, leiam as minhas Regras dos Comentários.
Se quiserem deixar o link para o vosso sitio, utilizar alguns estilos ou até inserir videos ou imagens nos comentários DEVEM mesmo ler as indicações nas Regras dos Comentários.
Caso prefiras comentar numa nova janela, ou se o formulário abaixo estiver nos dias ruins, podes clicar aqui.
Enviar um comentário