¿Debo molestarme en desarrollar JavaScript deshabilitado? [duplicar]

97

¿Debo molestarme en desarrollar para JavaScript deshabilitado?

Siento que mi tiempo se gasta mejor en el desarrollo para la mayoría.

    
pregunta Jiew Meng 28.05.2013 - 12:38

20 respuestas

66

Hay una filosofía de diseño web conocida como Mejora progresiva que es una que deberías tener en cuenta. La idea es que construyas un sitio básico que sea utilizable y viable, y luego incorpores estas mejoras como jQuery y cosas específicas del navegador para "mejorarlo". De esta manera, obtiene un sitio que funciona para todos y se ve bien para la mayoría.

Si eso no lo convence, considere otras razones para que un sitio funcione sin javascript:

  • Es más amigable para SEO. Si su sitio se basa en JS para el contenido y los enlaces, es probable que los motores de búsqueda ignoren grandes porciones de él.

  • Imagina que eres un sitio de comercio electrónico que vende widgets. Ahora, incluso si solo el 5% de sus clientes desactiva javascript, es una pérdida potencial de ventas del 5%. ¿Vale la pena perder clientes?

  • No discrimines a los discapacitados. Confiar en javascript significa que su sitio no es accesible y, en algunos casos (como los sitios del gobierno / sector público), podría ser violar la ley al discriminar a las personas.

respondido por el Dan Diplo 30.09.2011 - 16:00
43

Por un lado, no estoy de acuerdo con las personas que insisten en que todo debería funcionar sin Javascript. Es bueno codificar el mínimo común denominador en muchos casos (por ejemplo, estaría muy molesto si el sitio de mi banco requiriera Flash o alguna tontería de ese tipo). Pero, en realidad, casi todos tienen Javascript habilitado estos días y si se usan correctamente ¡Los sitios resultantes pueden ser bastante espectaculares y útiles! (Quiero decir, veamos qué agradable es Google Maps cuando Javascript está desactivado ...)

Sin embargo, esto no debería excluirlo por lo menos de garantizar que su página falle correctamente si Javascript no está presente. Nunca NUNCA deje a sus usuarios mirando una página rota, cargada a medias, sin ninguna indicación de lo que salió mal. Solo pregúntese: ¿preferiría dedicar 2 minutos a programar un mensaje "Esta página requiere Javascript" o recibir 10 correos electrónicos diarios de los usuarios que me dicen que mi página está rota porque tienen el script no habilitado?

    
respondido por el Toji 13.12.2010 - 15:38
39

Sí, deberías.

Si percibes esto como algo que requiere un esfuerzo adicional, es posible que lo hagas al revés.

Desarrolle sus páginas para trabajar sin JavaScript primero, luego agregue mejoras basadas en JavaScript, efectos Ajax, etc. Funcionarán si JS es compatible / habilitado, de lo contrario, sus páginas se degradarán con gracia .

Y, por favor, no desarrolle las páginas donde:

  1. Todo el contenido se extrae de la base de datos mediante JavaScript

  2. El marcado se desintegra completamente porque los elementos se pegan y se colocan en los lugares correctos mediante JavaScript, no mediante CSS

  3. Los enlaces en la navegación y en el cuerpo no funcionan sin JavaScript (a menos que sea un marco como ASP.NET que se basa en JavaScript por una razón)

Es solo contra el espíritu de la web y contra el sentido común.

P.S. Hablado por un usuario de NoScript.

    
respondido por el 3 revsuser8685 13.12.2010 - 15:04
31

Como desarrollador, ya no me preocupo por el 1% de los usuarios que desactivan Javascript. Es demasiado lento y el tiempo de desarrollo es demasiado caro como para desperdiciarlo en tales tonterías. AJAX ahorra una increíble cantidad de ancho de banda que se convierte directamente en un ahorro de $ $ $ $, lo que hace que las ganancias sean más altas. Si pierdo uno o dos usuarios potenciales del sitio por cada 100 usuarios, esos uno o dos usuarios perdidos costarán mucho más en desarrollo que los ingresos potenciales de los que alguna vez podrían aportar.

Intenta desactivar Javascript e iniciar sesión en Facebook, después de eso se convierte en un sitio web muy dañado. Si es lo suficientemente bueno para Facebook, es lo suficientemente bueno para mí.

    
respondido por el Robert 26.05.2011 - 16:08
11

Personalmente uso el NoScripts del complemento de Firefox cuando navego, y aliento a otros a que lo utilicen. En todas las PC familiares que mantengo, NoScripts es uno de los bits obligatorios del software que instalo. Lo configuré con una lista blanca de correos electrónicos básicos y sitios web bancarios junto con el popular social & Sitios de video y explicarles cómo funciona el permiso temporal. A juzgar por la popularidad de este complemento, creo que hay una buena parte de las personas que lo utilizan.

Por lo menos espero que la funcionalidad de navegación funcione sin scripts. Si tiene algo específico, como un video que requiere guiones, entonces está bien, pero muestre un marcador de posición agradable que diga "se requieren guiones para ver este video".

Sin embargo, hacer que tu navegación se base en scripts es un gran error. En muchos casos me hará rebotar del sitio con disgusto. Un error aún mayor es que parte de su sitio o navegación simplemente desaparezca cuando los scripts están deshabilitados. A menos que resaltes el hecho de que falta algo, es muy probable que ni siquiera lo note, así que simplemente dejaré tu sitio pensando que no estaba allí. Además, un mensaje de pantalla completa que simplemente diga "este sitio requiere scripts" no lo llevará muy lejos, necesito ver un cierto nivel de contenido antes de confiar en ti lo suficiente como para permitir scripts.

Finalmente, no olvide que no solo las PC de escritorio están navegando en su sitio, sino que los navegadores móviles son cada vez más populares. Aunque la compatibilidad con JavaScript móvil está mejorando, no está ni cerca de ser perfecta, así que a menos que vaya a probar en gran medida todos los diferentes navegadores móviles, le sugiero que busque la versión móvil de su página prácticamente sin scripts.

    
respondido por el Simon P Stevens 13.12.2010 - 15:01
9

Depende del sitio y de quién lo utilizará.

¿El sitio es público o es una intranet o un sitio que solo estará disponible para ciertos clientes? Probablemente encontrarás usuarios sin JavaScript en el público. Si solo será utilizado por los clientes, ¿puede decirles que solo es compatible con JavaScript habilitado?

¿Es SEO una consideración o todo el sitio está detrás de una pantalla de inicio de sesión o SEO, de lo contrario no es un factor? Es mucho más fácil de optimizar para los motores de búsqueda si no hay JavaScript.

¿Se utilizará el sitio en los navegadores móviles? Los navegadores móviles a menudo no tienen o tienen un pobre soporte de JavaScript.

También debe tener en cuenta que JavaScript puede dificultar que los lectores de pantalla procesen su sitio y tiene otras consideraciones de accesibilidad potencialmente negativas.

Los usuarios de navegadores basados en texto (por ejemplo, lynx) también tienen poco o ningún soporte de JavaScript.

Tienes que mirar tu sitio y tu audiencia y decidir si necesitas apoyar a los usuarios que tienen JavaScript deshabilitado. También tienes que ver si es posible no usar JavaScript. Si está creando una aplicación web avanzada y necesita cosas como la compatibilidad con la cámara web y el micrófono, puede ser imposible no usar JavaScript.

Si decide que necesita admitir usuarios sin JavaScript, puede seguir usando JavaScript. Solo debes hacer que el sitio web siga funcionando sin él. Esto se denomina mejora progresiva, debería degradarse con gracia si no hay compatibilidad con JavaScript.

Si decide solicitar JavaScript, debe notificar a sus usuarios (utilizando la etiqueta <noscript> ) que lo está haciendo.

    
respondido por el Adam 13.12.2010 - 23:49
8

Absolutamente

Un sitio que no funcione correctamente sin JavaScript debe notificar claramente al usuario. Debe hacerse todo lo posible para que funcione correctamente sin JavaScript. Hay ciertos casos en los que esto no será posible, sitios altamente dinámicos construidos en capas de AJAX y recuperaciones remotas son uno de ellos. Esto no significa que esté bien mostrar una página en blanco si tengo JavaScript deshabilitado.

La degradación elegante es extremadamente importante, y no solo se aplica a JavaScript, se aplica a todo lo que codifiques. Marcado HTML válido, CSS válido, validación del lado del servidor de todo .

    
respondido por el Josh K 13.12.2010 - 14:55
8

¿Puedo recomendar un artículo de "A List Apart" ?:

Mejora progresiva con JavaScript

  

... Hemos revisado la mentalidad necesaria para implementar mejoras progresivas en JavaScript y varias técnicas para hacerlo. También hemos tocado el concepto de scripts discretos y hemos aprendido un poco sobre cómo administrar la interrelación de CSS y JavaScript.

Cuando combina el enfoque general con ese artículo con herramientas útiles como JQuery (o Prototype, o cualquiera que sea el marco de JavaScript elegido), es realmente trivial aplicar el comportamiento de JavaScript después del hecho.

Hay varios tipos de navegadores por ahí que aún no tienen JavaScript o, al menos, soporte de JavaScript muy limitado. Por no mencionar que la regla # 1 para WCAG y el cumplimiento de la sección 508 (accesibilidad para personas no estadounidenses) es que la vista no depende de un lenguaje de scripting para función . Si la página se vuelve a cargar cada vez que hago un cambio, pero aún así me permite hacer cambios, está funcionando. La capa AJAX en la parte superior del sitio base me permite hacer lo mismo sin recargar la página.

Las principales razones que puedo ver para admitir que no hay usuarios de JavaScript son:

  • Compatibilidad con personas con discapacidades (lectores de pantalla, dispositivos de entrada alternativos, etc.)
  • Apoyo a las personas conscientes de la seguridad: seamos sinceros, hay personas malas que hacen cosas terribles con JavaScript, por lo que la solución más sencilla es deshacerse de JavaScript
  • Es la forma más fácil de inhabilitar anuncios sin un complemento
  • Dispositivos móviles e integrados
  • Los navegadores de línea de comando utilizados para descargar herramientas en servidores sin cabeza
  • Las arañas de los motores de búsqueda solo siguen enlaces reales: JavaScript las confunde

Por favor, si va a requerir cookies y JavaScript en su sitio para que funcione , realice la debida diligencia para evitar los siguientes problemas con lo siguiente:

  • Ataques de secuencias de comandos entre sitios
  • seguimiento de usuarios de terceros
  • Hacking / Defacement a través de la manipulación DOM
  • Phishing (si un script puede acceder a su DOM, puede enviar cualquier información de la página al servidor desde el que se cargó)

(Y eso es sólo la lista corta)

Cuando la solución no es tan difícil, ¿por qué no hacerlo?

Además, mientras estés en tu fiesta de JavaScript, no te olvides de admitir la navegación con un teclado sano.

    
respondido por el Berin Loritsch 28.05.2013 - 12:38
3

En un sitio como este, encontrarás muchos desarrolladores que te dirán cómo tienen Javascript deshabilitado, por lo que deberías admitir mejoras progresivas. En realidad, del 5% de las personas que tienen Javascript deshabilitado, el 90% son desarrolladores y otros expertos en tecnología, no son el público en general. La mayoría de los sitios principales no son compatibles con la mejora progresiva. ¿Has intentado usar Facebook sin Javascript? Básicamente dicen que se van.

    
respondido por el Craig 14.12.2010 - 02:01
2

< El 5% de los usuarios deshabilita javascript

Según BrowserStatistics , en 2008, solo el 5% de los usuarios tenía JavaScript desactivado. La tendencia ha ido disminuyendo constantemente, por lo que es muy seguro asumir que ahora, cerca del 2011, ese número es mucho menor.

Disminuya la calificación con creces

Su sitio nunca debe estar roto, no importa si los usuarios tienen JS activado o desactivado. Incluso si es tan simple como mostrar un mensaje que su sitio necesita tener activado javascript, debe asegurarse de que su sitio web se muestre y se comporte de una manera aceptable y sin interrupciones para aquellos que seleccionan pocos.

¿Trabajo para usuarios que no son JS? Normalmente: No.

El desarrollador ordinario no tiene necesidad de crear una versión que no sea javascript en otro idioma. Sin embargo, si se sabe que sus clientes tienen necesidades anti-javascript, entonces obviamente están obligados a atenderlo. (Incluso GMail no tiene una versión de JS)

    
respondido por el rlb.usa 27.08.2011 - 01:55
1

Solo en la funcionalidad de misión crítica

En general, es una buena idea "degradarse con gracia". Sin embargo, solo me concentraría en las partes críticas de su aplicación web, para atender situaciones en las que JavaScript no esté disponible.

Si solo son efectos de "campanas y silbidos", entonces no te molestes. Las personas que deliberadamente navegan sin JavaScript solo tendrán que hacer una experiencia simple (oye, esa es su elección para no usar Js)

    
respondido por el Darknight 13.12.2010 - 15:16
1

Mis pensamientos:

El uso de javascript siempre aumentará el área de superficie para el ataque, no solo para usted, sino también para sus clientes, casi todos los que conozco navegan con NoScript, y esto incluye a personas no técnicas.

Si veo un sitio de compras en línea que usa mal javascript, no les compraré. Siempre navego primero con javascript desactivado, y si un sitio se degrada con gracia, me puede interesar. Si se acaba de romper, asumiré que los programadores tampoco tienen la capacidad de entregar una plataforma de tienda segura.

Tiende a ralentizar todo, a pesar de estar cerca de una ciudad importante, mi banda ancha es lo suficientemente lenta sin tener que esperar a que se cargue alguna idea de marketing. Si un sitio tarda más de 5 segundos en cargar contenido básico, no me molestaré a menos que tenga una necesidad real.

    
respondido por el Rory Alsop 17.12.2010 - 17:01
1

La mayoría de las respuestas aquí parecen resaltar las críticas a los sitios web estándar que usan JavaScript en formas no esenciales o intrincadas. Pero ¿qué pasa con las aplicaciones web? Hay un montón de funciones críticas que no se pueden lograr ni remotamente con la misma eficacia sin JavaScript. Incluso algo tan simple como un contador de palabras básicas en un área de texto, o habilitar / deshabilitar una pregunta de formulario adicional basada en la respuesta a otra. En este caso, ¿no es razonable construir para la mayoría y degradarse con gracia para la minoría? ¿Especialmente si sabe que su base de usuarios no es técnica y es poco probable que JS esté deshabilitado?

    
respondido por el Jordan 16.01.2013 - 01:06
0

Cosas a considerar:

AFAIK, a las arañas de los motores de búsqueda no les gusta Javascript. Debes tener contenido básico y navegación sin Javascript solo para SEO.

Algunos sitios web pueden tener reglas de acceso para discapacitados, ya sea por razones legales o por la política de la compañía. Generalmente, esto se logra mejor con HTML simple en lugar de Javascript.

Aunque la mayoría de la gente navega con Javascript en la actualidad, eso no es una garantía para el futuro. La web se está volviendo cada vez más hostil y las herramientas como NoScript pueden volverse más populares. Alternativamente, es posible que más personas utilicen dispositivos con navegadores menos capaces, aunque parece que es menos probable que algunos teléfonos con Android sean bastante económicos. La degradación elegante puede ser una forma de hacer una prueba de futuro del sitio.

    
respondido por el David Thornley 13.12.2010 - 23:18
0

Sí.

No voy a hablar sobre personas con NoScript, dispositivos integrados, etc. Se puede medir su participación y luego puede decidir si la disminución de ingresos causada por molestos, por ejemplo. 0.5% de usuarios vale la pena implementar una solución para ellos.

Pero hay otras razones para seguir el principio de Mejora progresiva, y a menudo son más importantes.

  1. El 100% de los usuarios no puede ejecutar javascript antes de que se carguen los scripts. Si el sitio puede funcionar sin js, se puede cargar más rápido para los visitantes primerizos, los visitantes con caché vacía y para todos los visitantes después de las actualizaciones del código js.

  2. Los sitios que pueden funcionar sin js son más confiables. El error de Javascript que rompe un sitio web es una pesadilla arquitectónica. Más información sobre este y otros problemas relacionados: enlace

  3. Es más fácil seguir con la Mejora progresiva que implementar un sitio solo para JavaScript compatible con SEO.

  4. Es más fácil escribir pruebas automatizadas para sitios que no requieren JavaScript para funcionar.

En realidad, es bastante fácil seguir el principio de Mejora progresiva, ¿por qué no lo sigue?

    
respondido por el Mike Korobov 28.03.2011 - 08:04
0

Depende de la respuesta a una sola pregunta:

"¿El costo de apoyar a los usuarios con Javascript deshabilitado es mayor o menor que el dinero perdido al no apoyar a esos usuarios?"

Digamos que su sitio web tiene una vida útil de 3 años antes de que sea necesario reconstruirlo, cuesta 30,000 £ construirlo para 'clientes ricos', y agrega otros 10,000 £ para dar soporte a usuarios que no son Javascript (de los cuales asumiremos que son el 5% de)

Si el 5% de usuarios perdidos hubiera gastado más de £ 10,000, hazlo. Si no lo harían, no lo hagas a menos que sea legalmente requerido.

Esto es más una decisión comercial / económica que una técnica.

    
respondido por el PhonicUK 28.05.2013 - 13:49
-1

No, no deberías

Con dos excepciones:

  1. El contenido que desea que el motor de búsqueda pueda indexar. (Eso no significa que tenga que verse bien, siempre y cuando los enlaces funcionen y el contenido sea visible).
  2. Sitios móviles simples que deben funcionar en todos los dispositivos. (Algunos BlackBerries tienen JS deshabilitado de forma predeterminada, y muchos teléfonos no inteligentes a menudo no lo tienen).

Para sitios web de teléfonos de escritorio y táctiles, Javascript brinda una experiencia de usuario increíblemente rica. Hay una razón por la que todos los sitios web principales hacen un uso extensivo de AJAX y Javascript. Todos los navegadores actuales lo soportan. ¡Abrázalo!

Como alguien que ha sudado en el pasado para hacer que un sitio web completo funcione con Javascript deshabilitado, puedo asegurarle a cualquiera que terminará degradando la experiencia en el 99% para complacer al 1%.

En vez de eso, simplemente pegue una etiqueta NOSCRIPT que les diga a los usuarios que habiliten Javascript. Estarán acostumbrados a ello.

    
respondido por el realworldcoder 14.12.2010 - 01:13
-1

Depende mucho de su mercado objetivo. Si su mercado objetivo no es de tecnología, es bastante seguro ignorar que JavaScript está deshabilitado. Sin embargo, si buscas técnicos, bueno, la mayoría de los que conozco tienen javascript desactivado ... Tendrás que apoyarlos a menos que desees la pequeña porción de técnicos que permite javascript (yo soy uno de La minoría, dejo que javascript se ejecute en mis máquinas). :-)

    
respondido por el Brian Knoblauch 28.05.2013 - 14:18
-2

JavaScript deshabilitado es extremadamente importante y debes admitirlo. La industria del porno es conocida por los usuarios de spam con ventanas emergentes maliciosas. La desactivación de JavaScript es bastante necesaria si navega en este territorio.

¿Realmente desea forzar a los usuarios a activar / desactivar JavaScript constantemente a medida que pasan de sitios de reputación cuestionable a su aplicación?

    
respondido por el jojo 27.08.2011 - 04:12
-4

¿Por qué usarías JavaScript? No es necesario para nada útil de todos modos. ¡Agréguelo para obtener efectos estúpidos si quiere, pero hágalo funcionar en un nuevo / lento netbook / iPod / lo que sea que quiera que funcione un poco más rápido (y más seguro) al activar JavaScript!

    
respondido por el user21391 28.03.2011 - 05:33

Lea otras preguntas en las etiquetas