Sobes.tech
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