Die anderen Antworten scheinen alle veralten
Zunächst einmal, Skripte an der Spitze setzen und window.onload
mit einem Anti-Muster. Es ist bestenfalls von IE Tagen übrig geblieben oder im schlimmsten Fall von JavaScript und dem Browser.
Sie können nur Ihre Skripte, die die Unterseite des html
<html>
<head>
<title>My Page</title>
</head>
<body>
content
</body>
<script src="some-external.js"></script>
<script>
some in page code
</script>
</html>
Der einzige Grund, warum Menschen window.onload
verwendet bewegen, weil sie fälschlicherweise benötigt geglaubt Skripte im head
Abschnitt zu gehen. Da die Dinge in der Reihenfolge ausgeführt werden, wenn sich Ihr Skript im Kopfbereich befand, existierten der Hauptteil und Ihr Inhalt noch nicht per Definition von in der Reihenfolge.
Die hacky Abhilfe bestand darin, window.onload
zu verwenden, um auf den Rest der Seite zu warten, um zu laden. Das Verschieben des Skripts nach unten hat dieses Problem ebenfalls gelöst, und jetzt müssen Sie window.onload
nicht mehr verwenden, da Ihr Text und Inhalt bereits geladen wurde.
Die modernere Lösung ist die Verwendung des Tags defer
in Ihren Skripten, aber damit Ihre Skripte alle extern sein müssen.
<head>
<script src="some-external.js" defer></script>
<script src="some-other-external.js" defer></script>
</head>
Dies hat den Vorteil, dass der Browser sofort den Skripte Download wird gestartet, und es wird sie in der angegebenen Reihenfolge ausgeführt werden, aber es wird wartet sie, bis ausgeführt werden, nachdem die Seite geladen wird, keine Notwendigkeit für window.onload
oder besser aber immer noch nicht benötigt window.addEventListener('load', ...
@xgqfrms [jQuery ist nicht immer die Antwort] (http://meta.stackoverflow.com/questions/335328/when-isuse-jquery-not-a-valid-answer-to-to- a-javascript-question) ... –