Autor Zpráva
R-Flash
Profil *
ahoj, v Mozile mi nefunguje odkazování prostřednictvím getElementById(), namáte pls někdo nějakou alternativu použitelnou i v Mozile? V IE to facha normálně. Dík
R-Flash
Profil *
teda taky je možný, že je chyba v dynamickym src.
kód:
...
document.getElementById('obr').src=cil;
...
ah01
Profil
Taky jde o to okolo. Existuje vůbec element s id obr? A co to hlásí za chybu?
R-Flash
Profil *
Mozila bohužel nic nehlásí, prostě jenom nevykoná příkaz. V exploreru to funguje, takže žádná chyba v proměnnejch to být nemuže.
R-Flash
Profil *
Nevim jestli to může nějak souviset, ale ten příkaz je ve funkci, která je volaná z jednoho divu a ten obrázek s ídéčkem obr je taky v dalšim divu.
juneau
Profil
Zvykl jsem si, ze pokud volam z nejakeho scriptu jiny element, tak ten element by mel byt v dokumentu PRED tim scriptem. Zkus dat ten JS na konec stranky.
zivan
Profil
Ja bych skript vzdy na konec nedaval. Pokud bude no udalost volana nejaka funkce, stranka se bude dlouho nacitat a na prubezne zobrazene casti nastane ta udalost, tak ta funkce neni jeste nactena a vyhodi to chybu.

No pokud je divny chovani v getElementById, tak by to mohlo souviset s tim, ze ten element ma zadane name "obr", ale ne id. IE to chybne vraci.
juneau
Profil
"stranka se bude dlouho nacitat"... to je potom problem, to ano.
zivan
Profil
resil bych to bud vlozenim potrebnych funkci pred misto prvniho volani nebo vytvorenim "prazdnych" funkci na zacatku html (pak by nenastala chyba pri volani funkce, ale nic by se nadelo az do nacteni scriptu na konci)

neni dobry delat neco spatne s tim, ze to vetsinou nenastane...chyb je v softwaru i tak dost :-)
juneau
Profil
Ale tak staci si script spravne navrhnout, spoustet jej az po onload a clovek se toho vyvaruje. Narvat 20kB JS do hlavicky webu taky nepovazuju za idealni, at uz se nacte jen jednou nebo ne :)
zivan
Profil
to urcite ne, pak se da pouzit druha metoda

kdyz mam treba silene dlouhou funkci dlouha(), tak na zacatek umistim:

<script>
function dlouha() {};
</script>

predejdu chybam s neexistenci funkce a po nacteni scriptu na konci stranky bude vse fungovat
R-Flash
Profil *
díky juneau, funkce jsem dal nakonec a běhá to. teď tam nefunguje jenom to src, ale to je asi chyba v něčem jinym
peta
Profil *
R-Flash
"Mozila bohužel nic nehlásí, prostě jenom nevykoná příkaz. V exploreru to funguje, takže žádná chyba v proměnnejch to být nemuže."

Jak to muzes tvrdit? Vcera jsem zazil takovy pripad, ze clovek mel chybu ve scriptu, kdeta mu v IE nic nedelala, ale ve FF se pridalo do adresniho radku UNDEFINED a vysledkem toho bylo, ze mu to zhodilo sesny, cili udelalo logout. Samozrejme chyba byla videt hned v JS konzole.

Dal sis tu namahu s pustil v Mozille JS konzolu?
IE - dole zluty vykricnik - podrobnosti (ktery se bez chyby neobjevi)
FF - nastroje - JS konzola
O - nastroje - JS konzola

Jinak tu byla zadost o cely script, ten radek se SRC je dobre.
Treba ja mam JS hry zde
www.volny.cz/peter.mlich/hry/hry.htm
a pouzivam tam pro adresovani elementu takovyto slozity script

function objGet(x)
{var d=document;return (d.getElementById?d.getElementById(x):d.all?d.all[x]:d[x]?d[x]:d.layer s?d.layers[x]:null);}

Funguje to uplne stejne jako to tve, jen je to pro vice prohlizecu a obsahuje to i tvou funkci.

document.getElementById('obr').src=cil;
objGet('obr').src=cil;

Mno, a mozna jsi to prehledl, ale byla tu zadost O CELY TVUJ JS KOD, protoze z prave napsaneho je jasne, ze zrovna na tom radku neni zadna chyba.

Kdyz uz ses tak linej podivat se na JS konzoli, proved toto:
alert("co je vlastne v promenne cil = " + cil);
alert("existence objektu = " + Boolean(document.getElementById('obr')));
document.getElementById('obr').src=cil;
Vsadim se, ze se
- bud se snazis pracovat bud s jeste neexistujicim objektem (coz ie nejak zkousne)
- nebo v promenne cil je nejaky nesmysl
- a nebo promenna cil neni definovana pres VAR promenna; (coz si IE nadefinuje, ale script se tim dost znacne zpomali, FF vyhlasi chybu)
R-Flash
Profil *
omlouvám se za svou nepřítomnost. Polotovar je tady: http://r-flash.ic.cz/Galerie.html

děkuju petovi, díky tomu alertu jsem zjistil, že je to chyba v metodě substring() při určování src u obrázku
R-Flash
Profil *
už je to hotovo. problém byl v tom, že v IE se písmeno "é" v adrese zůstane éčkem, zatímco v mozile to je "%E9".
Toto téma je uzamčeno. Odpověď nelze zaslat.

0