Siempre pongo mis etiquetas de scripts en la parte inferior de la página, ya que es una buena práctica cargar scripts después de que cosas como HTML/CSS y texto hayan terminado de cargarse. Acabo de enterarme del atributo diferir que básicamente hace lo mismo, es decir, espera hasta que la página haya terminado de cargarse antes de ir a buscar y ejecutar scripts.¿Es necesario colocar scripts en la parte inferior de una página cuando se utiliza el atributo "aplazar"?
Entonces, si usa el atributo defer es necesario colocar físicamente las etiquetas de script en la parte inferior de la página vs dentro de la etiqueta de encabezado?
Me resulta mejor para la legibilidad para mantener las etiquetas de secuencia de comandos dentro de la sección de la cabeza.
<script src="script.js" defer="defer"></script>
o
<script defer="defer">
// do something
</script>
Su segundo ejemplo no se pospondrá. 'defer' solo funciona en scripts externos. – millimoose
Sí. Todos odiamos esperar. – Tchoupi
¿No sería redundante poner la secuencia de comandos al final _y_ estableciendo que diferir? En cuanto a si usar o no 'defer', ¿quieres ignorar la cuota de mercado de Opera? (Aparentemente, Opera no es compatible con el atributo html5 'async' tampoco). Es posible que desee considerar algo como [yepnope.js] (http://yepnopejs.com/). – nnnnnn