2011-09-17 29 views
13

Ogni tanto sento parlare di tag HTML <script> più avanti nel documento HTML piuttosto che nell'elemento <head>.Posizionamento tag di script HTML?

Alcune persone, o almeno così ho sentito, sostengono addirittura di posizionare i propri script come gli ultimi tag prima dello </body>.

Ciò è dovuto a un problema di prestazioni? Forse il caricamento di uno script è un'operazione di blocco IO, se si considera che gli script di script-dipendenti sono posti dopo altri script in questo modo:

<script src="jQuery.js"></script> 
<script src="myScriptThatUsesjQuery.js"></script> 

Anche se questo è il caso, perché sarebbe ponendo i propri script vicino alla fine del documento HTML Aiuto?

Grazie!

+1

possibile duplicato di [Dove è il posto migliore per inserire i tag

4

Bene, il <script> dovrebbe essere incluso prima </body> e come dici tu <script src="jQuery.js"></script> deve essere inserito prima del <script src="myScriptThatUsesjQuery.js"></script>, perché carica jquery.js tutte le funzioni che vengono utilizzati dai myScriptThatUsesjQuery.js, quindi non si può utilizzare una funzione (ad es. $()) prima che sia stato dichiarato.

0

Avere un sacco di file di script nel tag head rallenta le prestazioni del sito perché la specifica HTTP consiglia ai browser di non scaricare più di 2 file da qualsiasi host in parallelo. Quindi se hai una mezza dozzina di file .js caricati dalla cartella degli script del tuo sito, il caricamento delle altre risorse sul tuo sito (immagini/css ecc.) Verrà bloccato mentre il browser passa attraverso l'elenco 2x2. In pratica produce un collo di bottiglia.

Penso che alcuni browser moderni abbiano soluzioni alternative per questo problema, ma fino a quando il mondo non si arrenderà su IE6/7, è probabilmente meglio sbagliare dal lato dell'ottimizzazione.