Untersuchung von async, defer und dynamischen Skripttypen.
Daniel Movsesyan
Follow
Sep 12, 2020 – 3 min read
Heutzutage können Skripte schwerer sein als HTML und ihre Downloadgröße ist größer, und auch die Verarbeitungszeit ist länger.
Aber es kann einige wichtige Probleme geben, wie zum Beispiel:
- Skripte können die DOM-Elemente unter ihnen nicht sehen
- Wenn ein umfangreiches Skript oben auf der Seite steht, „blockiert es die Seite“. Die Benutzer können den Inhalt der Seite erst sehen, wenn es heruntergeladen und ausgeführt wird.
Dieses Problem kann dadurch gelöst werden, dass das Skript am Ende (nach HTML) platziert wird, aber diese Lösung zwingt das Skript, nach dem Laden von HTML zu laden. Bei langen HTML-Dokumenten kann dies zu einer spürbaren Verzögerung führen, wenn die Nutzer langsames Internet haben.
Glücklicherweise gibt es zwei <script>
-Attribute, die das Problem für uns lösen: defer
und async
.
Mit dem Attribut „defer“ lädt der Browser das Skript im „Hintergrund“ und führt es aus, wenn es geladen wird.