Quando si incorpora JavaScript in un documento HTML, dov'è il posto giusto dove mettere i tag <script>
e il JavaScript incluso? Mi sembra di ricordare che non si dovrebbe metterli nella sezione <head>
, ma anche metterli all'inizio della sezione <body>
non va bene, poiché il JavaScript dovrà essere analizzato prima che la pagina sia resa completamente (o qualcosa del genere). Questo sembra lasciare la fine della sezione <body>
come posto logico per i tag <script>
.
Quindi, dove è il posto giusto per mettere i tag <script>
?
(Questa domanda fa riferimento a questa domanda, in cui si suggeriva di spostare le chiamate di funzioni JavaScript dai tag <a>
ai tag <script>
. Sto usando specificamente jQuery, ma anche risposte più generali sono appropriate).
Appena prima del tag di chiusura del corpo, come indicato su
http://developer.yahoo.com/performance/rules.html#js_bottom
Metti gli script in fondo
Il problema causato dagli script è che bloccano i download paralleli. La specifica HTTP/1.1 suggerisce che i browser scaricano non più di due componenti in parallelo per hostname. Se servite le vostre immagini da più hostname, potete ottenere più di due download in parallelo. Mentre uno script sta scaricando, tuttavia, il browser non avvierà nessun altro download, anche su hostname diversi.
Se state usando JQuery allora mettete il javascript ovunque lo troviate meglio e usate $(document).ready()
per assicurarvi che le cose siano caricate correttamente prima di eseguire qualsiasi funzione.
Su una nota a margine: mi piacciono tutti i miei tag di script nella sezione <head>
perché sembra essere il posto più pulito.
La risposta convenzionale (e ampiamente accettata) è "in basso", perché allora l'intero DOM sarà stato caricato prima che qualsiasi cosa possa iniziare l'esecuzione.
Ci sono dissidenti, per varie ragioni, a cominciare dalla pratica disponibile di iniziare intenzionalmente l'esecuzione con un evento onload della pagina.