2010-03-09 36 views
7

¿Hay alguna forma de comprobar si javascript está habilitado para garantizar que una aplicación que requiera javascript no se inicie cuando esté desactivada o no esté disponible?Comprobando si javascript está habilitado

+0

posible duplicado de [¿Cómo detectar si JavaScript está deshabilitado?] (Http://stackoverflow.com/questions/121203/how-to-detect-if-javascript-is-disabled) –

Respuesta

5

Tiendo a utilizar de la siguiente manera.

1) mostrar un mensaje de error por defecto

<div id="noJS">For use, you need JavaScript enabled. (nice images and perhaps a link to your fav. browser)</div> 

2) desactivarlo mediante javascript y mostrar contenedor de la aplicación principal

$("#noJS").hide(); 
$("#app").show(); 

Si javascript sólo es necesario para, por ejemplo, navegación, debe intentar entregar una versión que no sea js para usuarios que no sean js a fin de aumentar su audiencia.

+2

stackoverflow utiliza esta técnica también (para mostrar un banner rojo en la parte superior de la página) –

+0

Expandiría 'js' a 'JavaScript' en un mensaje como este. Muchos usuarios finales pueden no tener idea de qué es 'js'. – scunliffe

+0

lo corrigió, aunque estaba destinado a ser un ejemplo :-) –

0

No en carga inicial. Puede intentar utilizar trucos como configurar una cookie en JavaScript y verificarla en solicitudes posteriores. La mejor manera es asegurarse de que su sitio funcione sin JavaScript y usar JavaScript para proporcionar una mejor experiencia.

+0

qué ocurre con las aplicaciones que usan explícitamente javascript es decir, gmail? – Tim

+5

@ user270797, My Gmail no requiere Javascript. Gmail tiene una versión solo en HTML, que usa Javascript para pequeñas funciones adicionales, como buscar contactos en vivo. – strager

6

Hay <noscript>.

+2

recuerde la advertencia con noscript: incluso si no se usa, no garantiza que javascipt esté disponible o funcione correctamente. Puedes ver esto usando Firefox Web Developer para desactivar javascript. –

+0

@Colin: los usuarios de NoScript sufrirán lo mismo: http://stackoverflow.com/questions/993387/noscript-tag-javascript-disabled-warning-and-google-penalty/993461#993461 –

0

Se puede crear una página con contenido <noscript>, y tener esa redirección usando javascript para su aplicación real

3

Por defecto, servir a la versión sin Javascript. Use Javascript para redirigir inmediatamente al usuario a la versión de Javascript (que solo funcionará si Javascript está habilitado).

2

El escenario es:

  1. usuario realiza la primera solicitud a su sitio
  2. Entregar una página que establece dos cookiesl uno con javascript, otro con su lenguaje del lado del servidor.
  3. Encabezado o meta redirigir a otra página para la prueba.
  4. En la página de prueba, verifique si recibió la cookie entregada por el servidor para ver si la compatibilidad con cookies está habilitada, y compruebe si se recibió la cookie javascript para la compatibilidad con JS habilitada.
  5. Disfrute de sus nuevos conocimientos.
Cuestiones relacionadas