Po navadi ste za klic funkcije JavaScript po nalaganju strani v telo strani dodali atribut onload
, ki je vseboval delček JavaScripta (običajno je klical le funkcijo).
<body onload="foo()">
Ko je stran naložena, želim zagnati kodo JavaScript za dinamično polnjenje delov strani s podatki iz strežnika. Atributa onload
ne morem uporabiti, ker uporabljam fragmente JSP, ki nimajo elementa body
, ki bi mu lahko dodal atribut.
Ali obstaja kak drug način za klic funkcije JavaScript ob nalaganju? Raje ne bi uporabil jQueryja, ker ga ne poznam dobro.
Če želite, da metoda onload sprejme parametre, lahko naredite nekaj podobnega:
window.onload = function() {
yourFunction(param1, param2);
};
To poveže metodo onload z anonimno funkcijo, ki bo ob klicu zagnala želeno funkcijo s parametri, ki ji jih boste podali. Seveda lahko znotraj anonimne funkcije zaženete več kot eno funkcijo.
Tvoje prvotno vprašanje je bilo nejasno, ob predpostavki, da je Kevinovo urejanje/interpretacija pravilna, potem ta prva možnost ne velja
Tipična možnost je uporaba dogodka onload
:
<body onload="javascript:SomeFunction()">
....
Svoj javascript lahko postavite tudi na sam konec telesa; izvajati se ne bo začel, dokler ne bo končan dokument.
<body>
...
<script type="text/javascript">
SomeFunction();
</script>
</body>
Druga možnost je, da razmislite o uporabi ogrodja JS, ki to omogoča že samo po sebi:
// jQuery
$(document).ready( function () {
SomeFunction();
});
function yourfunction() { /* do stuff on page load */ }
window.onload = yourfunction;
Ali z jQueryjem, če želite:
$(function(){
yourfunction();
});
Če želite ob nalaganju strani poklicati več kot eno funkcijo, si za več informacij oglejte ta članek: