Esconder a URL de um link na barra de estado

Como fazer um Javascript para evitar que se mostre a URL na barra de estado do navegador (status bar) ao passar o mouse por cima de um link.

Por Miguel Angel Alvarez - Tradução de JML


Publicado em: 27/2/08
Valorize este artigo:
Quando colocamos o mouse em cima de um link se mostra na barra de estado do navegador a URL a qual vai dirigido. Isto é algo que resulta muito útil quando navegamos, porque podemos ver, antes de clicar o link, o endereço ao que nos dirigirá o navegador se clicamos. Porém, por muito útil que resulte aos navegantes, às vezes os webmaster por umas razões ou por outras preferem que não se veja a URL que nos enviará o link ao colocar o mouse em cima.

Com Javascript podemos alterar o texto que aparece na barra de estado do navegador em qualquer momento, portanto será ideal para esconder o texto que aparece na barra de estado.

Nota:A decisão de eliminar a URL que aparece na barra de estado ao se colocar em cima de um link é uma má idéia desde o ponto de vista da usabilidade. Todos nós utilizamos essa informação para ter uma referência e eliminá-la pode ser incômodo para o visitante.

Temos duas maneiras de esconder o texto da barra de estado. A primeira seria modificando a etiqueta do link, porém teríamos que fazer link a link para todos os que se deseje. Também mostraremos um modo de fazer isso para todos os links da página de uma só vez.

Esconder o texto da barra de estado de link a link

Simplesmente vamos atribuir um comportamento quando se pose o mouse em cima de um link e outro comportamento para quando se saia do link.

<a href="http://www.guiarte.com" onmouseover="window.status='Guiarte, sitio de turismo y arte';return true" onmouseout="window.status='';return true"> Guiarte.com

Se vemos esta etiqueta do link se comprovará que tem dois eventos definidos:

  • onmouseover, para definir ações quando se pose o mouse sobre o link.
    Neste evento indica com window.status um novo texto para a barra de estado. Logo, fazemos o return true para que não se realize nenhuma ação adicional por este evento.
  • onmouseout, para definir ações quando o mouse sai do link.
    Neste evento apagamos o texto da barra de estado que aparecia ao posar sobre o link.


A vantagem deste modo é que podemos colocar um texto diferente na barra de estado para cada link da página. Como dizíamos, a desvantagem é que temos que fazê-lo em cada link que quisermos evitar que se veja a URL.

Pode-se ver um exemplo em uma página a parte.

Nota:Na configuração pré-determinada de Firefox não se permite alterar o texto da barra de estado, por isso este script não mudará esse texto. Porém, como temos o "return true" no manejador do evento, pelo menos evitará que se veja a URL do link.

Ocultar o texto da barra de estado para todos os links

Agora vejamos outro método de fazer isto, de uma só vez para todos os links que tiver na página. Simplesmente vamos fazer um código para apagar o texto da barra de estado, que vai se executar indefinidamente cada intervalo de tempo. Assim, apesar de aparecer a URL do link na barra de estado durante uns instantes, nosso código se executará a cada pouco para apagá-lo.

Vejamos a seguinte instrução Javascript:

setInterval ("window.status = ''",10);

Isto é uma chamada ao método de window setInterval(), que serve para executar um código Javascript indefinidamente em intervalos definidos. O primeiro parâmetro é a instrução que vai executar window.status = '', que serve para apagar o texto da barra de estado. O seguinte parâmetro são os milésimos de segundos que têm que transcorrer entre execuções da instrução, neste caso 10 milésimos de segundos.

Se colocamos esta instrução em um script em qualquer parte da página, preferivelmente no cabeçalho, faremos que desapareça o escrito na barra de estado em questão de instantes.

<script language="JavaScript">
setInterval ("window.status = ''",10);
</script>


Pode-se ver em funcionamento o script aqui.

Nota: Na configuração padrão de Firefox não se permite mudar o texto da barra de estado, por isso este script parecerá ter nenhum efeito.

Para encontrar mais informação sobre como mudar esta configuração de Firefox consultando a FAQ: Por que não se muda o texto da barra de estado em Firefox com Javascript?

Conclusão

Embora o texto da barra de estado seja útil, talvez prefiramos que não apareça, ou que se mostre uma mensagem personalizada. Espero que estas duas soluções sejam úteis para esses casos.






Usuários :    login / registro
Manuais relacionados
Categorias relacionadas
O autor

Home | Sobre nós | Copyright | Anuncie | Entrar em contato