Kje je pri vstavljanju JavaScripta v dokument HTML pravilno mesto za oznake <script>
in vključen JavaScript? Spomnim se, da jih ne smete postaviti v razdelek <head>
, vendar je postavitev na začetek razdelka <body>
tudi slaba, saj bo treba JavaScript razčleniti, preden bo stran v celoti prikazana (ali nekaj podobnega). Zdi se, da je konec razdelka <body>
logično mesto za oznake <script>
.
Kje je torej pravo mesto za namestitev oznak <script>
?
(To vprašanje se sklicuje na to vprašanje, v katerem je bilo predlagano, da bi bilo treba klice funkcij JavaScript z oznak <a>
prestaviti na oznake <script>
. Uporabljam predvsem jQuery, vendar so primerni tudi splošnejši odgovori.)
Tik pred zaključno oznako telesa, kot je navedeno v
http://developer.yahoo.com/performance/rules.html#js_bottom.
Pustite skripte na dno
Problem, ki ga povzročajo skripte, je, da blokirajo vzporedne prenose. Specifikacija HTTP/1.1 predlaga, da brskalniki vzporedno prenesejo največ dve komponenti na gostiteljsko ime. Če slike posredujete z več gostiteljskih imen, lahko povzročite, da se vzporedno preneseta več kot dve komponenti. Vendar med prenašanjem skripte brskalnik ne bo začel drugih prenosov, niti na različnih gostiteljskih imenih.
Če uporabljate JQuery, namestite javascript, kjer se vam zdi najbolje, in uporabite $(document).ready()
, da zagotovite pravilno nalaganje pred izvajanjem funkcij.
Še dodatna opomba: najraje imam vse skriptne oznake v razdelku <head>
, saj se mi zdi, da je to najčistejše mesto.
Običajni (in splošno sprejeti) odgovor je "na dnu", saj se potem celoten DOM naloži, preden se lahko kar koli začne izvajati.
Iz različnih razlogov obstajajo nasprotniki, začenši z razpoložljivo prakso namernega začetka izvajanja z dogodkom onload strani.