Ich habe ein paar Fragen zu den Attributen async
und defer
zum <script>
Tag, die meines Wissens nur in HTML5-Browsern funktionieren.
Eine meiner Websites enthält zwei externe JavaScript-Dateien, die sich derzeit direkt über dem </body>
Tag befinden. das erste istjquery von Google bezogen und das zweite ist ein lokales externes Skript.
In Bezug auf die Ladegeschwindigkeit der Baustelle
Gibt es einen Vorteil beim Hinzufügen
async
zu den beiden Skripten, die ich am Ende der Seite habe?Wäre es von Vorteil, die
async
Option zu den beiden Skripten hinzuzufügen und sie oben auf der Seite im zu platzieren<head>
?- Würde dies bedeuten, dass sie beim Laden der Seite heruntergeladen werden?
- Ich gehe davon aus, dass dies zu Verzögerungen bei HTML4-Browsern führen würde, aber würde dies das Laden von Seiten für HTML5-Browser beschleunigen?
Verwenden von <script defer src=...
- Würde das Laden der beiden darin enthaltenen Skripte
<head>
mit dem Attributdefer
die gleichen Auswirkungen haben wie die vorherigen Skripte</body>
? - Ich gehe wieder einmal davon aus, dass dies HTML4-Browser verlangsamen würde.
Verwenden von <script async src=...
Wenn ich zwei Skripte mit async
aktiviert habe
- Würden sie gleichzeitig herunterladen?
- Oder einzeln mit dem Rest der Seite?
- Wird die Reihenfolge der Skripte dann zum Problem? Zum Beispiel hängt ein Skript vom anderen ab. Wenn eines schneller heruntergeladen wird, wird das zweite möglicherweise nicht richtig ausgeführt usw.
Schließlich lasse ich die Dinge so, wie sie sind, bis HTML5 häufiger verwendet wird?
defer
ist dasselbe wie das Platzieren von Skripten am unteren Rand des HTML-Codes, was seit vielen Jahren üblich ist.
async
ist neu (ish), gehört aberdefer
seit IE4 zum IE.defer
wurde in jüngerer Zeit zu anderen Browsern hinzugefügt, aber ältere Versionen dieser Browser hängen viel weniger herum.