Um eine JavaScript-Funktion aufzurufen, sobald die Seite geladen ist, fügen Sie traditionell ein "onload"-Attribut zum Body hinzu, das ein Stück JavaScript enthält (normalerweise nur den Aufruf einer Funktion)
<body onload="foo()">
Wenn die Seite geladen ist, möchte ich einen JavaScript-Code ausführen, um Teile der Seite dynamisch mit Daten vom Server zu füllen. Ich kann das Attribut onload
nicht verwenden, da ich JSP-Fragmente verwende, die kein body
-Element haben, dem ich ein Attribut hinzufügen kann.
Gibt es eine andere Möglichkeit, eine JavaScript-Funktion beim Laden aufzurufen? Ich würde lieber nicht jQuery verwenden, da ich damit nicht sehr vertraut bin.
Wenn Sie möchten, dass die onload-Methode Parameter annimmt, können Sie etwas Ähnliches wie das Folgende tun:
window.onload = function() {
yourFunction(param1, param2);
};
Dies bindet onload an eine anonyme Funktion, die, wenn sie aufgerufen wird, die gewünschte Funktion mit den von Ihnen angegebenen Parametern ausführt. Und natürlich können Sie mehr als eine Funktion innerhalb der anonymen Funktion ausführen.
Ihre ursprüngliche Frage war unklar, vorausgesetzt, Kevins Bearbeitung/Interpretation ist korrekt, dann trifft die erste Option nicht zu
Die typische Option ist die Verwendung des Ereignisses "onload":
<body onload="javascript:SomeFunction()">
....
Sie können Ihr Javascript auch ganz am Ende des Bodys platzieren; es wird erst ausgeführt, wenn das Dokument vollständig ist.
<body>
...
<script type="text/javascript">
SomeFunction();
</script>
</body>
Eine weitere Möglichkeit ist die Verwendung eines JS-Frameworks, das dies von Haus aus tut:
// jQuery
$(document).ready( function () {
SomeFunction();
});
function yourfunction() { /* do stuff on page load */ }
window.onload = yourfunction;
Oder mit jQuery, wenn Sie wollen:
$(function(){
yourfunction();
});
Wenn Sie mehr als eine Funktion beim Laden der Seite aufrufen möchten, finden Sie in diesem Artikel weitere Informationen: