2012-07-18 18 views
14

Duplicar posible:
Where is the best place to put <script> tags in HTML markup?JavaScript externo - cuerpo o cabeza?

¿Dónde debo poner mi archivo JavaScript externo? Sé que las personas lo ponen al final de la etiqueta del cuerpo para hacer que la página web parezca que se carga más rápido. ¿Pero hay inconvenientes sobre ponerlo al final?

¿Sería una buena práctica poner JavaScript con el código de Google Analytics?

<body> 
// Everything else over here ... conent etc.. 
    <script src="myjavascript.js" type="text/javascript"></script> 
     <script type="text/javascript"> 
     // google analytics code 
     </script> 
</body> 
+0

Siempre lo pongo en la cabeza en caso de que necesite llamar a una de las funciones en el cuerpo en algún lugar y no quiero esperar a que la página se cargue antes de llamar a la función. –

+0

@JohnnyCraig debes def. echa un vistazo a http://headjs.com - es más rápido que cargar etiquetas

3

Las recomendaciones actuales son para colocar el código JavaScript en la parte inferior no porque "parece se carga más rápido ", pero debido a que al colocarlos allí, el análisis y ejecución de JavaScript no impide que el navegador haga otras cosas (como cargar el resto de la página).

Lo único que se me ocurre es que si defines cualquier objeto y función en JS externo y quieres usarlos en la página, debes esperar a cargar la página/listo.

En cuanto al código de Google Analytics, es una buena práctica colocarlo en la parte inferior, como en su ejemplo.

+0

Pero parece que se carga más rápido ... el diseño aparece primero = ¡usuarios más felices! ¡Pero puede que tengas razón! Por cierto, mi código o código analítico primero? –

4

Colocar las secuencias de comandos al final de la página ayudará a improve the performance.

El problema causado por los scripts es que bloquean las descargas paralelas. La especificación HTTP/1.1 sugiere que los navegadores no descarguen más que dos componentes en paralelo por nombre de host. Si sirve sus imágenes desde múltiples nombres de host, puede obtener más de dos descargas en paralelo. Sin embargo, mientras se descarga una secuencia de comandos, el navegador no iniciará ninguna otra descarga, incluso en diferentes nombres de host, al .

Es importante tener en cuenta que antes de poder acceder a cualquier objeto al que se haga referencia en el JS externo, primero deben cargarse por completo.

Cuestiones relacionadas