En toda la documentación, veo la etiqueta del script jQuery debajo de <title> en el encabezado, pero luego, cuando entro en otros sitios (la plantilla initializr es la primera que aparece en la parte superior de mi cabeza), la colocan en la parte inferior del body (ya sabes, justo antes de </body> ).
¿Cuál de estos dos tiene razón?
Citando las mejores prácticas de YDN para acelerar su sitio web :
Poner guiones en la parte inferior
El problema que causan los scripts es que bloquean las descargas paralelas. La especificación HTTP/1.1 sugiere que los navegadores no descarguen más de dos componentes en paralelo por nombre de host. Si sirve sus imágenes desde varios nombres de host, puede obtener más de dos descargas en paralelo. Sin embargo, mientras se descarga un script, el navegador no iniciará ninguna otra descarga, incluso en diferentes nombres de host.
En algunas situaciones, no es fácil mover los guiones al final. Si, por ejemplo, el script usa document.write para insertar parte del contenido de la página, no se puede mover hacia abajo en la página. También puede haber problemas de alcance. En muchos casos, hay formas de solucionar estas situaciones.
Una sugerencia alternativa que surge a menudo es usar secuencias de comandos diferidas. El atributo DEFER indica que la secuencia de comandos no contiene document.write y es una pista para los navegadores de que pueden continuar procesando. Desafortunadamente, Firefox no admite el atributo DEFER. En Internet Explorer, la secuencia de comandos se puede aplazar, pero no tanto como se desee. Si un guión se puede aplazar, también se puede mover al final de la página. Eso hará que tus páginas web carguen más rápido.
Es divertido que la gente solía decir que debería recibir una bofetada en la cabeza por hacer eso cuando dije eso en 2009 y ahora de repente es una buena práctica... Algunos avances.
Bueno, creo que necesitas poner esto dentro de $(document).ready(function() { para que el documento esté realmente listo antes de llamar a jQuery. Personalmente, también lo puse justo antes de </body> . Ahora dado que ambos funcionan, ¿hay una forma "correcta" o es solo una cuestión de preferencia personal?
Sin embargo, me encantaría escuchar a los expertos.
El libro High Performance Web Sites de Steve Souders recomienda colocar los scripts en la parte inferior, antes de la etiqueta </body> . También puede encontrar esto documentado en el sitio developer.yahoo.com aquí . (Es la cuarta recomendación de la lista).
Por lo general, coloco los scripts en la parte inferior, antes de mi etiqueta '' y he tenido algunos problemas con esto. Me di cuenta de que esto ayuda al rendimiento en navegadores más antiguos como IE7 mucho más que en los más nuevos como FF3.6, Chrome e IE9. Los navegadores más antiguos solo admiten 2 descargas paralelas, mientras que los más nuevos admiten unas 6 conexiones. El bloqueo, como resultado, no es tan notable.
¡Espero que esto ayude!