Esconder la URL de un enlace en la barra de estado

Valoración del artículo:
Como hacer un Javascript para evitar que se muestre la URL en la barra de estado del navegador (status bar) al pasar el ratón por encima de un enlace.
Publicado: 20/11/06
Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.
Cuando ponemos el ratón encima de un enlace se muestra en la barra de estado del navegador la URL a la que va dirigido. Esto es algo que resulta muy útil cuando navegamos, porque podemos ver, antes de pulsar el enlace, la dirección a la que va a dirigirnos el navegador si hacemos clic. Pero por muy útil que resulte a los navegantes, a veces los webmaster por unas razonas u otras preferimos que no se vea la URL a la que va a enviarnos un enlace al poner el ratón encima.

Con Javascript podemos alterar el texto que aparece en la barra de estado del navegador en cualquier momento, así que será ideal para esconder el texto que aparece en la barra de estado.

Nota:La decisión de eliminar la URL que aparece en la barra de estado al ponerse encima de un enlace es una mala idea desde el punto de vista de la usabilidad. Todos utilizamos esa información para tener una referencia y eliminarla puede ser molesto para el visitante.

Tenemos dos maneras de esconder el texto de la barra de estado. La primera sería modificando la etiqueta del enlace, pero tendríamos que hacerlo enlace a enlace para todos los que se desee. También mostraremos un modo de hacer esto para todos los enlaces de la página a la vez.

Esconder el texto de la barra de estado de enlace a enlace

Simplemente vamos a asignar un comportamiento cuando se pose el ratón encima de un enlace y otro comportamiento para cuando se salga del enlace.

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

Si vemos esta etiqueta del enlace se comprobará que tiene dos eventos definidos:

  • onmouseover, para definir acciones cuando se pose el ratón sobre el enlace.
    En este evento indica con window.status un nuevo texto para la barra de estado. Luego hacemos el return true para que no se realice ninguna acción adicional por este evento.
  • onmouseout, para definir acciones cuando se sale el ratón del enlace.
    En este evento borramos el texto de la barra de estado que aparecía al posarse sobre el enlace.


La ventaja de este modo es que podemos poner un texto distinto en la barra de estado para cada enlace de la página. Como decíamos, la desventaja es que tenemos que hacerlo en cada enlace que queramos evitar que se vea la URL.

Se puede ver un ejemplo en una página aparte.

Nota:En la configuración predeterminada de Firefox no se permite alterar el texto de la barra de estado, por lo que este script no cambiará ese texto. Pero como tenemos el "return true" en el manejador del evento, al menos evitará que se vea la URL del enlace.

Ocultar el texto de la barra de estado para todos los enlaces

Ahora veamos otro método de hacer esto, de una vez para todos los link que haya en la página. Simplemente vamos a hacer un código para borrar el texto de la barra de estado, que se va a ejecutar indefinidamente cada intervalo de tiempo. Así, aunque aparecerá la URL del enlace en la barra de estado durante unos instantes, nuestro código se ejecutará cada poco para borrarlo.

Veamos la siguiente sentencia Javascript:

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

Esto es una llamada al método de window setInterval(), que sirve para ejecutar un código javascript indefinidamente en intervalos definidos. El primer parámetro es la instrucción que va a ejecutar window.status = '', que sirve para borrar el texto de la barra de estado. El siguiente parámetro son los milisegundos que tienen que transcurrir entre ejecuciones de la sentencia, en este caso 10 milisegundos.

Si ponemos esa instrucción en un script en cualquier parte de la página, preferiblemente en la cabecera, haremos que desaparezca lo escrito en la barra de estado en cuestión de instantes.

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


Se puede ver en funcionamiento el script aquí.

Nota: En la configuración por defecto de Firefox no se permite cambiar el texto de la barra de estado, por lo que este script no parecerá tener ningún efecto.

Para encontrar más información sobre cómo cambiar esta configuración de Firefox consultando la FAQ: ¿Por qué no se cambia el texto de la barra de estado en Firefox con Javascript?

Conclusión

Aunque el texto de la barra de estado es útil, tal vez prefiramos que no aparezca, o que se muestre un mensaje personalizado. Espero que estas dos soluciones sean útiles para esos casos.

Comentarios
Fueron enviados 6 comentarios al artículo
5 comentarios no revisados
1 comentario revisado:
Por: Juan Fuentes
21/11/06
Hola Miguel Angel. Acabo de probar la página de ejemplo del artículo sobre cómo esconder la URL de la barra de estado y funciona de manera diferente según el navegador.

Con el Firefox simplemente no funciona. Al pasar el ratón sobre los enlaces estos se ven perfectamente en la barra de estado, y no desaparecen hasta que se mueve el ratón.

Con el Explorer sí funciona, aunque se llega a ver la URL antes de ser eliminada. Se genera un efecto de "parpadeo" en un instante.

Un saludo. Y gracias por el trabajo que hacéis desde DW.com.

RESPUESTA

Gracias por el comentario. Lo de Firefox ya lo había notado yo u había escrito una nota para explicarlo, que firefox no permite alterar el texto de la barra de estado. Aunque esa configuración del navegador se puede cambiar. Lee la FAQ: ¿Por qué no se cambia el texto de la barra de estado en Firefox con Javascript?


Manuales relacionados
Categorias relacionadas
El autor
Lectura recomendada
Compra este libro en Agapea, la librería urgente a domicilio.
Últimas noticias
Alojados en el grupo