molily: Zeilen- Daten

Beitrag lesen

Die JavaScript-Datei solltest Du entweder am Ende des HTML-Dokuments als letztes Element im <body> einbinden

Ja. Ohne Wenn und Aber.

Da gibt es ganz viele Wenns und Abers.

Manche Scripte müssen im head gestartet werden wie z.B. der HTML5-Shiv und Startup-Scripte für Statistiken oder JavaScript-Anwendungen.

Bei einer größeren Menge an Scripten und Modulen verwendet man JavaScript-Loader, die Scripte in der Reihenfolge der Abhängigkeiten asynchron laden und ausführen. Das wird gerne mit Polyfills kombiniert, welche nur geladen werden müssen, wenn entsprechende Browserunterstützung nicht vorhanden ist (z.B. JSON, Canvas oder HTML5-Features wie placeholder).

Zudem gibt es die async- und defer-Attribute. Es spricht nichts dagegen, Scripte im head asynchron zu laden.

oder, wenn Du sie im <head> notieren willst

Das will man eigentlich nicht. [PERFORMANCE-BP2]

Diese Erkenntnis ist nicht falsch, aber seitdem diese Regeln vor vier Jahren (oder war es länger her?) publiziert wurden, hat sich einiges getan, sodass diese Regel nicht mehr so pauschal gilt. Wo und wie man Scripte einbindet und was die performanteste Lösung ist, hängt von verschiedenen Faktoren ab.

Mathias