Die Ausführung eines beliebigen Skripts blockiert immer das Parsen, Rendern und Ausführen anderer Skripte auf derselben Registerkarte. Das Attribut async
ändert das nicht.
Das einzige, was async
tut, ist, dem Browser mitzuteilen, dass das Skript abgerufen werden soll (vorausgesetzt, es handelt sich um eine Remote-Datei), ohne diese Aktivitäten zu blockieren.
Nachdem das Skript heruntergeladen wurde, beginnt das Skript bei der nächsten verfügbaren Gelegenheit (direkt nachdem das aktuelle Skript, falls vorhanden, ausgeführt wird, ausgeführt zu werden; ein neues Skript unterbricht natürlich kein laufendes Skript). Sobald das passiert, ist Ihr Rendering blockiert. Bei einem schnellen Webserver erfolgt das Herunterladen so schnell, dass async
überhaupt keinen Unterschied macht.
Wenn Sie nicht möchten, dass Ihre Skripts das Rendering anhalten, verwenden Sie defer
attribute anstelle von async
. Dies verzögert die Ausführung des Skripts, bis das Dokument vollständig geladen ist.
Mehr zu diesem hier .
Tags und Links javascript google-chrome asynchronous