Autor | Zpráva | ||
---|---|---|---|
matak Profil |
#1 · Zasláno: 16. 7. 2007, 01:04:44
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 |
#2 · Zasláno: 16. 7. 2007, 01:20:40
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 |
#3 · Zasláno: 16. 7. 2007, 01:58:16
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. |
||
Časová prodleva: 17 let
|
0