2011-06-18 31 views

Respuesta

10

¿Hay algún navegador web que no sea compatible con javascript?

Por supuesto. Lynx es solo un ejemplo.

y cómo identificar si el cliente está utilizando uno de esos navegadores?

Utilizando la etiqueta <noscript> para proporcionar contenido alternativo.

o el cliente ha deshabilitado javascript?

La misma respuesta que la anterior: utilizando la etiqueta <noscript>.

Nunca debe probar si un cliente está utilizando el navegador X o Y. Siempre realice la detección de características. Paso uno: use <noscript> para proporcionar contenido alternativo a los clientes que no son compatibles con javascript. Luego pruebe si el cliente admite la característica que le gustaría usar. Nunca pruebe si IE8 o FF3 u otra cosa, ...

Modernizr es un excelente marco que podría ayudarlo con esto. Por lo tanto, si desea utilizar algunas de las nuevas características geniales de HTML5, no pruebe si el navegador es tal o cual versión: pruebe si el navegador admite la característica que le gustaría usar.

1

Todos los navegadores principales modernos admiten JavaScript. Sin embargo, hay algunos que no lo hacen, pero con una base de usuarios increíblemente pequeña en relación con los principales. Algunos usuarios pueden deshabilitar JavaScript, en cuyo caso puede especificar contenido diferente para los usuarios que usan etiquetas noscript.

0

¿Utiliza alguna estructura de JavaScript? (jquery, prototype ...) Pueden abstraer una gran parte de las especificidades del navegador.

Para detectar el navegador del usuario, puede utilizar el navegador de objetos: http://www.javascriptkit.com/javatutors/navigator.shtml

Y, como James y Darin señalaron, puede utilizar la etiqueta <noscript> de contenido alternativo.

2

Como si se quiere trabajar con CSS:

Muchos añadiendo no-js clase en la etiqueta como <html> ..

<html class="no-js"> 

y lo hacen reemplazar no-js a js por javascript después, como ..

<script> 
    document.documentElement.className = document.documentElement.className.replace('no-js','js'); 
</script> 

Entonces, cuando el cliente ha deshabilitado javascript.

Ejemplo del uso:

HTML:

<div class="test">This box with some JS function</div> 

CSS:

.no-js .test {display:none;} 

Ocultar esta caja, cuando el cliente ha desactivado el Javascript.

o ..

HTML:

<div class="alert">Please, turn you JS on!</div> 

CSS:

.js .alert {display:none;} 

Ocultar cuadro de alerta cuando está en JS. Pero todavía mostrar cuando JS si fuera ..

o hacer algo mucho más ... con no-js o js clases ..

Si su búsqueda de etiquetas HTML para la detección:

simplemente <noscript></noscript> como otro decir

Cuestiones relacionadas