Kur HTML dokumentā iestrādājot JavaScript, ir pareizi ievietot <script>
tagus un iekļauto JavaScript? Šķiet, atceros, ka tos nevajadzētu izvietot <head>
sadaļā, bet izvietot <body>
sadaļas sākumā arī nav labi, jo JavaScript būs jāizanalizē, pirms lapa tiek pilnībā atveidota (vai kaut kas tamlīdzīgs). Tādējādi šķiet, ka <body>
sadaļas gals ir loģiska vieta <script>
tagiem.
Tātad, kur ir pareizā vieta, kur likt <script>
tagus?
(Šis jautājums atsaucas uz šo jautājumu, kurā tika ierosināts JavaScript funkciju izsaukumus pārvietot no <a>
tagiem uz <script>
tagiem. Es konkrēti izmantoju jQuery, bet ir piemērotas arī vispārīgākas atbildes.)
Tieši pirms aizverošās body tag, kā norādīts
http://developer.yahoo.com/performance/rules.html#js_bottom
Skriptu ievietošana apakšā
Skriptu radītā problēma ir tā, ka tie bloķē paralēlo lejupielādi. HTTP/1.1 specifikācija iesaka pārlūkprogrammām paralēli lejupielādēt ne vairāk kā divus komponentus no viena resursvietas nosaukuma. Ja attēlus apkalpojat no vairākiem hostname, var panākt, ka paralēli notiek vairāk nekā divas lejupielādes. Tomēr, kamēr tiek lejupielādēts skripts, pārlūkprogramma nesāks citas lejupielādes, pat ja tās notiek dažādos hostname.
Ja izmantojat JQuery, ievietojiet javascript tur, kur tas ir vislabāk, un izmantojiet $$(document).ready()
, lai nodrošinātu, ka viss tiek ielādēts pareizi, pirms izpildīt jebkuru funkciju.
Papildus piebilde: man patīk, ja visas skriptu birkas ir izvietotas <head>
sadaļā, jo tā šķiet tīrākā vieta.
Tradicionālā (un vispārpieņemtā) atbilde ir "apakšā", jo tad viss DOM būs ielādēts, pirms kaut kas var sākt izpildīties.
Dažādu iemeslu dēļ, sākot ar pieejamo praksi apzināti sākt izpildi ar lapas ielādes notikumu, ir atšķirīgi viedokļi.