Simulator für das Laden von Skripten (async vs. defer)
Zeitstrahl-Ansicht: So wirken sich async und defer am script-Tag auf HTML-Parsing und Skriptausführung aus
Ein anschauliches Lernwerkzeug für alle, die Ladeprobleme durch JavaScript verstehen und beheben möchten. Über Schieberegler verändern Sie die Dauern und sehen auf einem Zeitstrahl unmittelbar, wann das HTML-Parsing blockiert wird und wann Download und Ausführung des Skripts stattfinden.
도구를 불러오는 중…
🔒 Alles läuft zu 100 % in Ihrem Browser. Ihre Dateien und Eingaben werden niemals auf einen Server hochgeladen.
Anleitung
- Stellen Sie mit den Schiebereglern die Dauer für HTML-Parsing, Skript-Download und Skriptausführung ein.
- Vergleichen Sie, welchen Unterschied die Platzierung eines gewöhnlichen Skripts macht – im head oder ganz am Ende des body.
- Betrachten Sie die drei Varianten Standard, Async und Defer nebeneinander und verfolgen Sie live, wie sich die Verzögerung beim Parsen verändert.
FAQ
- Was unterscheidet async und defer grundsätzlich?
- Beide laden das Skript parallel zum HTML-Parsing herunter. Bei async wird das Parsen jedoch sofort nach dem Download unterbrochen, um das Skript auszuführen. Bei defer wartet die Ausführung, bis das HTML vollständig geparst ist.
- Was nehme ich, wenn mehrere Skripte in einer festen Reihenfolge laufen müssen?
- Auf keinen Fall async – dort wird jedes Skript sofort nach seinem Download ausgeführt, die Reihenfolge ist also zufällig und bei Abhängigkeiten riskant. Mit defer bleibt die im HTML notierte Reihenfolge garantiert erhalten, was etwa beim Einbinden aufeinander aufbauender Bibliotheken wichtig ist.
- Wie unterscheidet sich ein mit type='module' geladenes Skript von den async/defer-Einstellungen?
- Browser behandeln Modulskripte standardmäßig wie defer — sie blockieren das Parsen nicht, und die Ausführung wartet, bis das Dokument vollständig geparst ist. Fügen Sie zusätzlich das async-Attribut hinzu, wird ein Modulskript stattdessen sofort nach Abschluss des Downloads ausgeführt, genau wie ein normales async-Skript.
