Sobes.tech
Middle

Was ist der Unterschied zwischen den Tags <script>, <script async> und <script defer>?

sobes.tech KI

Antwort von AI

  • <script>: Das HTML-Parsing stoppt, das Skript wird geladen und ausgeführt, dann wird das HTML-Parsing fortgesetzt. Blockiert das Rendern.
  • <script async>: Das Skript wird asynchron geladen, parallel zum HTML-Parsing. Sobald das Skript geladen ist, wird das HTML-Parsing unterbrochen, um das Skript auszuführen, dann wird es fortgesetzt. Die Ausführungsreihenfolge asynchroner Skripte ist nicht garantiert.
  • <script defer>: Das Skript wird asynchron geladen, parallel zum HTML-Parsing. Die Ausführung verzögert sich bis zum vollständigen Abschluss des HTML-Parsings und des DOM-Bauens. Die Reihenfolge der verzögerten Skripte bleibt entsprechend ihrer Reihenfolge im Dokument erhalten.

Hier ist eine Tabelle, die die Unterschiede zusammenfasst:

Attribut Laden Ausführung Blockiert das HTML-Parsing Reihenfolge der Skripte
fehlt Synchron Sofort nach dem Laden Ja Garantiert
async Asynchron Sofort nach dem Laden (wenn das HTML noch parsed wird) Ja (während der Ausführung) Nicht garantiert
defer Asynchron Nach vollständigem Laden des HTML und DOM-Aufbau Nein (außer beim Ausführen, aber nach HTML) Garantiert