2010-09-18 7 views
6

Estoy en el proceso de crear un CMS para compartir videos que usa muchos jQuery y ajax para todo, desde efectos de IU enriquecidos hasta el envío y recuperación de datos desde y hacia la base de datos. Cuando JavaScript se desactiva, todo se desmorona y el 90% de la funcionalidad no funciona.¿A veces está bien NO degradarse con gracia?

Estoy empezando a pensar que está bien no degradar con gracia para ciertos tipos de sitios como este que utiliza un reproductor flash para transmitir el contenido principal - los videos. Entonces, ¿cuál sería el objetivo de hacer todo lo posible para habilitar el soporte dual en todo lo demás si no se puede ver el contenido principal del sitio? Incluso YouTube rompe con JS deshabilitado.

tengo la intención de liberar el CMS bajo licencia de código abierto, por lo que la pregunta es:

para su distribución masiva (y para este tipo de sitio) no se degradan con gracia una buena idea?

Respuesta

3

Siempre y cuando deje en claro a los usuarios que necesitan JS habilitado, está bien que se "desmorone" sin JS. Sin embargo, si no da ninguna indicación de que no debería funcionar sin JS, la gente se enojará. La mayoría de la gente hoy en día espera que los sitios requieran JS en algún aspecto de su funcionalidad.

Para algo tan complejo como un CMS con videos, es culpa de los usuarios si no habilitan JS. No deberían esperar que algo así funcione sin JS, y aunque lo hagan, probablemente no valga la pena dedicar tiempo a mantener dos versiones de su sitio: JS y no JS, especialmente para algo que es de código abierto.

+3

+1 para "Siempre y cuando deje claro a los usuarios que necesitan JS habilitado, está bien que se" desmorone "sin JS". Para mí, esto ** está ** fallando con gracia. – lonesomeday

2

Como tu aplicación depende de Javascript para todo el propósito, es imposible que te degrades con gracia. Siempre y cuando su sitio claramente le indique al usuario que habilite javascript para obtener toda su increíble funcionalidad, y tal vez algunos enlaces sobre cómo hacerlo en diferentes navegadores, usted debería estar bien. : D

0

Si eres un perfeccionista, no hay nada de malo en dejar que las personas sin JS sepan lo que está sucediendo, en lugar de simplemente dejar que se rompa el sitio web. Aquí hay un resumen de cómo hacerlo: How to detect if JavaScript is disabled?.

1

Degradación elegante no significa "todo funciona en todos los navegadores", significa que "si su navegador no puede manejar algo, verá algo sensible en lugar de basura rota".

En su caso, simplemente detectar que el sitio no funcionará y mostrar una página de error agradable que explica lo que se requiere sería una forma aceptable de degradación elegante.

2

En esencia, está eligiendo una audiencia. No es diferente a decidir si admitir IE6. No es correcto o incorrecto, es simplemente una cuestión de qué porcentaje de su público está dispuesto a perder, a cambio de la facilidad de desarrollo de su parte.

Dicho esto, creo que progressive enhancement (de los cuales la degradación agraciada es un outcome) es una forma eficiente y segura de desarrollar. Primero haga el HTML, haga que funcione, luego agregue JS como azúcar en la parte superior.

No es probable que uno de sus usuarios no esté ejecutando Javascript. Lo que es probable, hablando en mi humilde ser, es que tendrá un pequeño error JS que mata todo. (JS tiende a detenerse solo en las excepciones, se habrá dado cuenta.)

Es bueno saber que, en caso de que se produzca un error de este tipo, los usuarios aún pueden usar el sitio. Para eso está la elegante degradación, en mi opinión.

+0

Además, el * pequeño error que mata todo * puede que ni siquiera sea tu culpa. Hay todo tipo de proxies de filtrado, software de seguridad falso y complementos de navegador que pueden atornillar el contenido de su página, lo que podría causar la ruptura de la funcionalidad de JS. – bobince

Cuestiones relacionadas