Autor Zpráva
matak
Profil
Mám takový problém se spuštěním skriptu až po načtení stránky. Marně si s tím lámu dlouho hlavu. Nevíte někdo proč skript window.onload se očividně provede dřív než pokud je napsán v tagu <body onload="fce()" ?

Lze to vyzkoušet jednoduše dejte do funkce alert('tim se zastavi loadovani stranky - stranka je prazdna'); pokud vsak ta sama funkce bude v tagu body onload tak se nejdrive nacte stranka a pak spusti funkce. Zkoušel jsem snad už vše document onload, document DOMContentLoaded apod.


Problém je jednoduchý spustit skript až po načtení stránky. Jelikož skript vytváří děti v tagu body, který ještě není načten v době spuštění skriptu tak hází chybu. Nevíte někdo jak tohle řešit??

Díky za rady
matak
Profil
sory, nevím proč mě to nedošlo dřív: tady je řešení

if(window.addEventListener) {
window.addEventListener("load",function() { init("abc") },false);
}
else if(window.attachEvent) {
window.attachEvent("onload",function() { init("abc") });
}
else {window.onload=function() { init("abc") };}

je nutné uvést atribut function v opacnem pripade se to bere jako příkaz a je proveden ihned ne az v okamziku udalosti
centi
Profil
matak
Nezapisoval si náhodou window.onload = myFunction(); i s tými zátvorkami za názvom funkcie? Ak áno, tak problém bol práve v tom. myFunction() je totiž volanie funkcie (a teda sa hneď vykoná), kdežto myFunction je niečo ako referencia na funkciu. Takže ak by si to zapísal ako window.onload = myFunction; tak by to malo fungovať správne.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: