2008-09-27 12 views
86

Recientemente leí el manifiesto de Yahoo Best Practices for Speeding Up Your Web Site. Recomiendan poner la inclusión de JavaScript en la parte inferior del código HTML cuando podamos.JavaScript no intrusivo: <script> en la parte superior o inferior del código HTML?

¿Pero dónde exactamente y cuándo?

¿Deberíamos ponerlo antes de cerrar </html> o después? Y, sobre todo, ¿cuándo deberíamos ponerlo en la sección <head>?

+1

posible duplicado de [¿Dónde está el mejor lugar para poner

3

Si lo pones en la parte inferior, se carga en último lugar, lo que acelera la velocidad que el usuario puede ver en la página. No necesita estar antes de la final </html> aunque de lo contrario no será parte del DOM.

Si el código es necesario al instante, entonces póngalo en la cabeza.

Lo mejor es poner cosas como widgets de blog en la parte inferior para que, si no se cargan, no afecte la usabilidad de la página.

6

No debería ser después del </html> ya que eso no sería válido. El mejor lugar para colocar scripts es justo antes del </body>

Esto se debe básicamente a que la mayoría de los navegadores dejan de renderizar la página mientras evalúan el script que usted proporciona. Por lo tanto, está bien colocar código que no sea de bloqueo en cualquier lugar de la página (estoy pensando principalmente en cosas que adjunten funciones al evento onLoad, ya que el enlace de eventos es tan rápido como para ser efectivamente libre). Un gran asesino aquí es al comienzo de la página colocar un script del servidor de anuncios, que puede evitar cargar la página antes de que los anuncios se descarguen por completo, haciendo que los tiempos de carga de su página sean

+0

Ya sabes, si realmente te preocupa la velocidad, entonces no habrá o - las etiquetas de cierre para estos tipos de elementos son opcionales. Coloque el

30

Nunca tan corta y seca - Yahoo recomienda poner los scripts justo antes de la etiqueta de cierre </body>, que va a crear la ilusión de que la página cargas más rápidas en una caché de vacío (ya que los guiones no bloqueará descargar el resto del documento). Sin embargo, si tiene algún código que desea ejecutar en la carga de la página, solo comenzará a ejecutarse después de que se haya cargado la página completa. Si coloca los scripts en la etiqueta <head>, comenzarían a ejecutarse antes, por lo que en una caché preparada la página parecería cargar más rápido.

Además, el privilegio de colocar scripts en la parte inferior de la página no siempre está disponible. Si necesita incluir scripts en línea en sus vistas que dependen de una biblioteca o de algún otro código JavaScript que se cargue antes, debe cargar esas dependencias en la etiqueta <head>.

En general, las recomendaciones de Yahoo son interesantes, pero no siempre son aplicables, y se deben considerar caso por caso.

+1

Si tienes un javscript discreto, no tendrás fragmentos en línea, la pregunta específicamente mencionada no es molesta. –

+1

en línea '

Cuestiones relacionadas