Cómo podemos redirigir al usuario a otra página en el caso de que no soporte la ejecución de scripts en Javascript, o no tenga Javascript habilitado.
Si tienes una página que necesita Javascript para poder usarse de manera correcta, es ideal establecer algún tipo de aviso para tus usuarios conozcan la situación. En este artículo te vamos a explicar cómo conseguirlo de una manera inmediata.
Actualizado: Lo cierto es que esta necesidad de explicar a los usuarios que necesitan Javascript no es algo muy frecuente en la actualidad, ya que a día de hoy es muy extraño que eso ocurra, ya que todos los navegadores disponen de compatibilidad con Javascript. En el cqso que no exista es muy probable que el propio usuario sea consciente y probablemente entonces ni siquiera necesite que le avisemos.
Cómo detectar que el navegador no dispone de Javascript
Si tu página necesita tener habilitada la posibilidad de ejecutar scripts en Javascript, en caso que los usuarios no tengan habilitado Javascript no podrán ver todos los contenidos. En un caso como este nos sería muy útil disponer de una función que detecte si está habilitado o no Javascript para, en caso de que no sea así, se envíe al navegador a otra dirección.
Esa funcionalidad no puede depender del propio lenguaj Javascript, ya que si no está habilitado Javascript no se puede ejecutar código. Imagina que no dispones de Javascript, el navegador no podría entonces ejecutar esa función y nunca detectarías que no hay Javascript. Es el típico caso de pescadilla que se muerde la cola.
Por suerte tenemos en los navegadores la posibilidad de usar la etiqueta <noscript></noscript>
que nos sirve para indicar acciones a tomar en caso de que no esté habilitado Javascript. Esta etiqueta funciona de la siguiente manera:
- Los navegadores que soportan Javascript y donde el Javascript está habilitado, simplemente ignorarán todo lo que se ponga dentro de la etiqueta
<noscript>
. - Los navegadores que no soportan Javascript o si el lenguaje no está habilitado, entonces leerán el contenido de esa etiqueta y se lo mostrarán al usuario. Incluso si el navegador es muy viejo y no tuviera conocimiento de lo que es Javascript, aunque no conociese la etiqueta
<noscript>
simplemente la trataría como un texto normal, por lo que la presentaría al usuario.
Cómo usar la etiqueta noscript
Utilizando esa etiqueta podemos poner un enlace para que se vea sólo en los navegadores que no tienen Javascript:
<noscript>
Tu navegador no soporta Javascript. <a href="no_javas.html">Entra en una página que no lo utiliza</a>
</noscript>
Cómo enviar automáticamente al usuario a otra dirección
Podemos ir un paso más allá y utilizar la etiqueta META
tipo "Refresh
" para que el navegador se refresque automáticamente y se dirija a otra página que no incluya programación en Javascript.
Es una opción mucho más interesante, porque no tenemos que esperar a que el visitante pulse un enlace y así nos aseguramos que, aunque no encontrase el enlace, el navegador lo redirija correctamente.
<noscript>
<meta HTTP-EQUIV="Refresh" CONTENT="3;URL=no_javascript.html">
</noscript>
Obviamente, esto sólo funcionará si nuestro navegador acepta este tipo de etiquetas de refresco automático, aunque los navegadores más habituales sí las aceptan.
Por cierto, la etiqueta de refresco debe colocarse en la cabecera (Dentro de <head></head>
). El primer dato del valor de refresco es el tiempo de espera antes de refrescarse en segundos, en este caso 3 segundos. El segundo dato es la dirección a la que queremos enviar el navegador, en este caso no_javascript.html
.
Miguel Angel Alvarez
Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...