Tradičně se pro volání funkce JavaScriptu po načtení stránky přidává do těla stránky atribut onload
, který obsahuje část JavaScriptu (obvykle pouze volání funkce).
<body onload="foo()">
Po načtení stránky chci spustit kód JavaScriptu, který dynamicky naplní části stránky daty ze serveru. Nemohu použít atribut onload
, protože používám fragmenty JSP, které nemají element body
, do kterého bych mohl přidat atribut.
Existuje nějaký jiný způsob, jak zavolat funkci JavaScriptu při načtení? Nerad bych používal jQuery, protože se v něm příliš nevyznám.
Pokud chcete, aby metoda onload přijímala parametry, můžete udělat něco podobného:
window.onload = function() {
yourFunction(param1, param2);
};
To váže metodu onload na anonymní funkci, která po vyvolání spustí požadovanou funkci s parametry, které jí zadáte. A samozřejmě můžete uvnitř anonymní funkce spustit více než jednu funkci.
Vaše původní otázka byla nejasná, za předpokladu, že Kevinova úprava/interpretace je správná, pak tato první možnost neplatí
Typickou možností je použití události onload
:
<body onload="javascript:SomeFunction()">
....
Můžete také umístit javascript na samý konec těla; nezačne se spouštět, dokud nebude dokument dokončen.
<body>
...
<script type="text/javascript">
SomeFunction();
</script>
</body>
A další možností je zvážit použití některého JS frameworku, který to umí ze své podstaty:
// jQuery
$(document).ready( function () {
SomeFunction();
});
function yourfunction() { /* do stuff on page load */ }
window.onload = yourfunction;
Nebo pomocí jQuery, pokud chcete:
$(function(){
yourfunction();
});
Pokud chcete při načítání stránky volat více než jednu funkci, podívejte se na tento článek, kde najdete další informace: