woodfighter: HTML-Elemente seit HTML5

Beitrag lesen

Tach,

Wenn ich defer benutze, wird die Script-Interpretaion also schon angefangen, nachdem Content geladen wurde, obwohl es selber noch nicht vollständig geladen wurde? Oder wie ist das zu verstehen?

ob Browser bei teilweise empfangenen Javascript-Ressourcen schon anfangen diese auszuführen, weiß ich nicht, spielt hier aber keine Rolle; defer sorgt dafür, dass der Browser das script-Element sieht, einen HTTP-Request dafür startet aber nicht darauf wartet, dass dieser fertig ist und das Javascript ausgeführt wurde. Das Javascript wird dann ausgeführt, wenn der Browser mit der HTML-Datei fertig ist.

Und wenn man async vorgibt, wird es sofort interpretiert, egal, ob der Content Komplett ist oder es selber vollständig geladen ist.

Nein, async sorgt dafür, dass der Browser das script-Element sieht, einen HTTP-Request dafür absetzt und es dann parallel zum weiteren Rendering der Seite ausführt, falls das Javascript geladen ist, bevor das Rendering fertig ist.

Beide Attribute sorgen also dafür, dass der HTML-Parser nicht blockiert wird; defer sorgt dafür dass das Javascript nach dem Rendern ausgeführt wird, asnyc dafür, dass das potentiell parallel passiert.

mfg
Woodfighter