Hvor skal jeg plassere <script>-koder i HTML-markering?

Når du legger inn JavaScript i et HTML-dokument, hvor er det riktige stedet å plassere <script>-taggene og inkludert JavaScript? Jeg synes å huske at du ikke skal plassere disse i <head>-delen, men å plassere i begynnelsen av <body>-delen er også dårlig, siden JavaScript må analyseres før siden er gjengitt helt (eller noe sånt). Dette ser ut til å etterlate end av <body>-delen som et logisk sted for <script>-koder.

Så hvor er det riktige stedet å plassere <script>-taggene?

(Dette spørsmålet refererer til dette spørsmålet, der det ble foreslått at JavaScript-funksjonskall bør flyttes fra <a>-koder til <script>-koder. Jeg bruker spesifikt jQuery, men mer generelle svar er også passende).

Like før den avsluttende body-taggen, som angitt på

http://developer.yahoo.com/performance/rules.html#js_bottom

Sett skript på bunnen

Problemet med skript er at de blokkerer parallelle nedlastinger. HTTP/1.1-spesifikasjonen antyder at nettlesere ikke laster ned mer enn to komponenter parallelt per vertsnavn. Hvis du serverer bildene dine fra flere vertsnavn, kan du få mer enn to nedlastinger til å skje parallelt. Mens et skript lastes ned, vil nettleseren imidlertid ikke starte andre nedlastinger, selv ikke på forskjellige vertsnavn.

Kommentarer (7)

Hvis du bruker JQuery, kan du plassere javascriptet der du finner det best og bruke $(document).ready() for å sikre at ting lastes inn riktig før du utfører noen funksjoner.

På en side note: Jeg liker alle skriptkodene mine i ``-delen, da det ser ut til å være det reneste stedet.

Kommentarer (5)

Det konvensjonelle (og allment aksepterte) svaret er "nederst", for da vil hele DOM-en være lastet inn før noe kan begynne å kjøres.

Det er avvikere, av forskjellige grunner, som starter med den tilgjengelige praksisen for å bevisst starte kjøring med en side onload-hendelse.

Kommentarer (0)