Die Script-Attribute „async“ und „defer“

Die Attribute async und defer sind boolesche Attribute, welche mit dem HTML5-Standard eingeführt wurden und können entweder true oder false sein. Außerdem funktionieren sie nur in Verbindung mit dem src Attribut.

Inhaltsverzeichnis

 

 

Async

Bei Einsatz des async Attributes wird das Script asynchron wärend des HTML-Parsings heruntergeladen und sofort ausgeführt. Unabhängig davon, ob das Parsing bereits beendet ist, oder nicht.
Während der Ausführung wird das HTML-Parsing unterbrochen.

Defer

Defer lädt das Script wie async während des Parsings herunter. Allerdings wird das Script erst ausgeführt nachdem der HTML-Parser seine Arbeit beendet hat.

Fazit

Wenn ein Script keine Abhängigkeiten besitzt kann das async Attribut genutzt werden, da der Ausführungszeitpunkt keine Rolle spielt.
Ansonsten sollte defer zum Einsatz kommen.

Wenn das async Attribut genutzt wird, sollte zusätzlich das defer Attribut gesetzt werden. Dieses dient als Fallback, wenn der Browser kein async unterstützt.

Falls Browser-Support <= IE9 benötigt wird und die Reihenfolge der auszuführenden Scripte eine Rolle spielt sollte das defer Attribut aufgrund eines Bugs im IE nicht benutzt werden.

Browser-Support

http://caniuse.com/#feat=script-async