Es una experiencia rápida, hace las cosas geniales. Pero cuando JavaScript está desactivado, no tengo la capacidad de ejecutar ese envío de formulario cuando agrego ese archivo. Entonces, si desactivo JavaScript nuevamente, si puedo ubicar mi mouse, ahí vamos, y recargo esta página, si voy a cargar mi archivo, cuando lo cargue, se convertirá en un pequeño botón de carga y cuando haga clic en eso, hará la carga, procesará el archivo y me dirá que he tenido éxito, y puedo volver a mi página anterior. Eso es genial.
¿Cómo funciona? Bastante simple. Realmente solo tenemos otro formulario. Es una sección muy corta de código DOM, y este formulario tiene un controlador de envío, muy similar al otro, pero tiene una entrada que acepta un archivo, y cuando ese archivo cambia, si JavaScript está habilitado, enviará el formulario, y si JavaScript no está habilitado, este controlador no se adjuntará, este controlador no se adjuntará, y lo que sucederá es que este botón se habilitará, porque nunca tuvimos la oportunidad de deshabilitarlo con esta variable de navegador, y cuando la entrada de archivo se vuelve válida y el botón se vuelve no deshabilitado, aparecerá el botón, lo que nos da la capacidad de enviar este formulario, que luego nos redirige a la otra página.
Esto funciona muy bien, con o sin JavaScript, y solo agregó unas pocas líneas de código. No tengo tiempo para hablarles más sobre esto, o lo haría, podría hablar de esto todo el día, pero realmente espero que esto les haya dado algunas preguntas filosóficas para pensar al respecto. Espero que puedan ver que la filosofía de la mejora progresiva, aunque definitivamente es un cambio mental de la filosofía de implementar todo en JavaScript, no es tan difícil como puede parecer en la superficie. Y la recompensa ciertamente vale la pena. Llegar a más clientes y tener un sitio que sea más resistente a fallas tecnológicas dará dividendos a largo plazo. Este código está disponible en github.com/tccsejohnson/lgtm. No dudes en contactarme con preguntas en Twitter en underscore Gruntled, o por correo electrónico a elliot.johnson en bursell.com. Muchas gracias por su atención, y realmente espero que tengan un gran día.
Comments