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 |