Uno deshabilita JavaScript en un entorno de navegador debido a las siguientes consideraciones:
- Velocidad y ancho de banda
- Usabilidad y accesibilidad
- Soporte de plataforma
- Seguridad
Velocidad y ancho de banda
Muchas aplicaciones usan demasiado JavaScript para su propio bien ... ¿Necesita partes de su interfaz para que las llamadas AJAX las actualicen todo el tiempo? Tal vez su interfaz se sienta excelente y rápida cuando se usa con una conexión de banda ancha, pero cuando tiene que reducir a velocidades de conexión más lentas, se prefiere una interfaz más optimizada. Y desactivar JavaScript es una buena manera de evitar que las aplicaciones web boquiabiertas refresquen el mundo cada 15 segundos más o menos sin una buena razón. (¿Alguna vez viste la cantidad de datos que envía Facebook? Da miedo. Sin embargo, no es solo un problema relacionado con JS, sino que es parte de él).
También tendemos a descargar más y más procesamiento al cliente, y si utiliza hardware minimalista (o simplemente obsoleto), es extremadamente lento.
Usabilidad y accesibilidad
No todas las interfaces de usuario deben expresarse de manera dinámica, y el contenido generado por el servidor puede ser perfectamente aceptable en muchos casos. Además, algunas personas simplemente no quieren este tipo de interfaces. No puede complacer a todos, pero a veces tiene la oportunidad y el deber de satisfacer a todos sus usuarios por igual.
Finalmente, algunos usuarios tienen discapacidades, ¡y nunca las ignorarás !
Los peores escenarios aquí, en mi opinión, son sitios web del gobierno que intentan "modernizar" sus interfaces de usuario para que parezcan más amigables al público, pero terminan dejando una gran parte de su público objetivo. Del mismo modo, es una pena que un estudiante universitario no pueda acceder al contenido de su curso: porque es ciego y su lector de pantalla no es compatible con el sitio, o porque el sitio es tan pesado y requiere complementos modernos ad-hoc que él / ella no puede instalar en esa computadora portátil restaurada comprada en e-bay hace 2 años, o de nuevo porque él / ella regresa a su país a otro país para las vacaciones de primavera y las restricciones de ancho de banda local no pueden hacer frente a la carga útil del sitio.
No todos viven en un mundo perfecto.
Soporte de plataforma
Este punto se relaciona con los 2 anteriores y tiende a ser menos relevante hoy en día, ya que los navegadores incorporan motores JavaScript que son un nivel de magnitud más eficientes de lo que solían ser, y esto sigue mejorando.
Sin embargo, no hay garantía de que todos sus usuarios tengan el privilegio de usar navegadores modernos (ya sea por restricciones corporativas, que nos obligan a admitir navegadores antediluvianos sin una buena razón, realmente, u otras razones que pueden o no ser válidas). Según lo mencionado por "Matthieu M." En los comentarios, debe recordar que mucha gente todavía usa hardware de menor calidad y que no todos usan el teléfono inteligente más reciente y moderno. A partir de hoy, todavía hay una porción significativa de personas que usan teléfonos que tienen navegadores integrados con soporte limitado.
Pero, como mencioné, las cosas mejoran en esta área. Pero aún debe recordar los puntos anteriores sobre las limitaciones de ancho de banda si sigue sondeando muy regularmente (o sus usuarios disfrutarán de una buena factura telefónica).
Todo está muy relacionado entre sí.
Seguridad
Si bien, obviamente, podría pensar que no se puede hacer nada particularmente peligroso con JavaScript teniendo en cuenta que se ejecuta en un entorno de navegador, esto es totalmente falso.
Te das cuenta de que cuando visitas P.SE y SO, inicias sesión automáticamente si iniciaste sesión en cualquier otra red, ¿verdad? Hay algunos JS allí. Sin embargo, esa parte sigue siendo inofensiva, pero utiliza algunos conceptos que pueden ser explotados por algunos sitios malévolos. Es completamente posible que un sitio web use JavaScript para recopilar información sobre algunas cosas que hace (o hizo) durante su sesión de navegación (o las anteriores si no borra los datos de su sesión cada vez que sale de su navegador o ejecuta el ahora modos de navegación privados o de incógnito comunes) y luego simplemente cárguelos en un servidor.
Las vulnerabilidades recientes (que trabajaban en los principales navegadores en ese momento) incluían la capacidad de recopilar sus datos de formularios de entrada guardados (probando combinaciones para usted en una página malévola y grabando los textos sugeridos para cada combinación de letras de inicio posible, posiblemente informando a los atacantes quién es usted) , donde trabajas y vives ) o para extraer tu historial de navegación y tus hábitos ( un truco muy inteligente que hace algo tan simple como inyectar enlaces en el DOM de la página para que coincida con el color del enlace y ver si ha sido visitado . Solo tienes que hacerlo esto en una tabla lo suficientemente grande de nombres de dominio conocidos. Y su navegador cada vez más rápido en el procesamiento de JavaScript, este tipo de cosas se hace rápidamente).
Además, no olvidemos que si el modelo de seguridad de su navegador es defectuoso, o los sitios web que visita no se protegen lo suficiente contra ataques XSS, entonces uno podría usar JavaScript para simplemente acceder a sus sesiones abiertas en sitios web remotos.
JavaScript es mayormente inofensivo ... si lo usa para sitios web confiables. Gmail Facebook (tal vez ... y ni siquiera ...). Lector de Google. StackExchange.
Pero sí, claro, JavaScript no puede ser tan malo, ¿verdad? Y de todos modos, hay cosas más aterradoras que temer en línea. Como pensar que eres anónimo cuando realmente no lo eres tanto , como lo demuestra el experimento Panopticlick del EFF . Lo que también se hace en parte usando JavaScript. Incluso puede leer sus razones para deshabilitar JavaScript para evitar las huellas digitales del navegador .
Dicho todo esto, puede haber situaciones perfectamente buenas en las que no necesite preocuparse por admitir JavaScript. Pero si ofrece un sitio web de servicio público, considere aceptar ambos tipos de clientes. Personalmente, creo que muchas aplicaciones web modernas y sitios web funcionarían igual de bien utilizando el antiguo modelo de contenido generado por el servidor sin JavaScript en absoluto en el lado del cliente, y aún sería excelente y posiblemente consumiría mucho menos.
Su kilometraje puede variar según su proyecto.