Wanneer je JavaScript in een HTML document integreert, wat is dan de juiste plaats om de <script>
tags en het ingesloten JavaScript te plaatsen? Ik meen me te herinneren dat je deze niet in de <head>
sectie moet plaatsen, maar plaatsing aan het begin van de <body>
sectie is ook niet goed, omdat de JavaScript dan eerst moet worden geparseerd voordat de pagina volledig wordt gerenderd (of zoiets). Dit lijkt erop dat het einde van de <body>
sectie een logische plaats is voor <script>
tags.
Dus, waar is de juiste plaats om de <script>
tags te plaatsen?
(Deze vraag verwijst naar deze vraag, waarin werd gesuggereerd dat JavaScript functie-aanroepen zouden moeten worden verplaatst van <a>
tags naar <script>
tags. Ik'ben specifiek met behulp van jQuery, maar meer algemene antwoorden zijn ook geschikt).
Net voor de afsluitende body tag, zoals vermeld op
http://developer.yahoo.com/performance/rules.html#js_bottom
Zet scripts onderaan
Het probleem dat scripts veroorzaken is dat ze parallelle downloads blokkeren. De HTTP/1.1 specificatie suggereert dat browsers niet meer dan twee componenten parallel downloaden per hostname. Als u uw afbeeldingen serveert vanaf meerdere hostnamen, kunt u meer dan twee downloads parallel laten verlopen. Terwijl een script aan het downloaden is, zal de browser echter geen andere downloads starten, zelfs niet op verschillende hostnamen.
Als je JQuery gebruikt, plaats dan de javascript waar je dat het beste vindt en gebruik $(document).ready()
om er zeker van te zijn dat alles goed geladen is voordat er functies worden uitgevoerd.
Een kanttekening: ik wil al mijn script tags in de <head>
sectie omdat dat de schoonste plaats lijkt te zijn.
Het conventionele (en algemeen aanvaarde) antwoord is "onderaan", omdat dan de hele DOM is geladen voordat iets kan beginnen met uitvoeren.
Er zijn tegenstemmers, om verschillende redenen, te beginnen met de beschikbare praktijk om de uitvoering opzettelijk te beginnen met een pagina onload event.