Middle
Wat is het verschil tussen de tags <script>, <script async> en <script defer>?
sobes.tech AI
Antwoord van AI
<script>: HTML-parsering stopt, script wordt geladen en uitgevoerd, daarna wordt het parseren hervat. Blokkeert de rendering.<script async>: Het script wordt asynchroon geladen, parallel aan het HTML-parseren. Zodra het script is geladen, wordt het parseren onderbroken om het script uit te voeren, daarna wordt het hervat. De volgorde van uitvoering van asynchrone scripts is niet gegarandeerd.<script defer>: Het script wordt asynchroon geladen, parallel aan het HTML-parseren. De uitvoering wordt uitgesteld tot het volledige HTML-parseren en de DOM-bouw voltooid zijn. De volgorde van deferred scripts wordt behouden volgens hun volgorde in het document.
Hier is een tabel die de verschillen samenvat:
| Attribuut | Laden | Uitvoering | Blokkeert HTML-parseren | Scriptvolgorde |
|---|---|---|---|---|
| afwezig | Synchroon | Onmiddellijk na laden | Ja | Gegarandeerd |
async |
Asynchroon | Onmiddellijk na laden (als HTML nog wordt geparsed) | Ja (tijdens uitvoering) | Niet gegarandeerd |
defer |
Asynchroon | Na volledige HTML-lading en DOM-bouw | Nee (behalve tijdens uitvoering, maar na HTML) | Gegarandeerd |