Hallo,
window.onload = function () {
> dieser Zeile Code sagst du, dass das JS erst ausgeführt werden darf, wenn die komplette Seite geladen ist.
Das sollte man möglichst vermeiden, es sei denn, das JavaScript erfordert tatsächlich, dass sie Seite mit allen Ressourcen geladen wurde. Das ist in der Regel nicht der Fall.
Scripte, die am Ende der Seite per <script> eingebunden werden, brauchen nicht auf den load- noch auf den DOMContentLoaded-Event zu warten, um auf das DOM zuzugreifen. Sie haben bereits Zugriff auf das volle DOM, das garantiert die Funktionsweise des HTML-Parsers.
Wenn ein Script vor den Elementen steht, auf die es zugreifen will, dann wäre DOMDocumentLoaded der Event der Wahl.
Nur wenn auf alle Scripts, Stylesheets, Grafiken, Icons, Fonts usw. gewartet werden soll, dann muss auf das load-Ereignis gewartet werden. So unspezifisch sind die Anforderungen eines Scripts aber selten.
Siehe auch <http://molily.de/js/event-handling-onload.html>
Mathias