[#1]
Niuanse w JS czyli parent czy top oraz z forms czy bez?
Witam, piszę sobie grę w php+javascript. Działa wyśmienicie i pod IBrowse, i pod nowym IE i Mozillą. Jednakże pod starszą wersją IE (nie chce mi się sprawdzać jaką) wywali mi drobne błędy nieistotne, ale jednak tak z czystej ciekawości chciałem się zorientować dokładnie co piszę.
Mianowicie..
mam kilka ramek i odwołuję się do różnych elementów z nich. Ramki te, to no: "vis" albo "upd". I teraz sprawa tego typu, że np: z jednej ramki wysyłam do drugiej przeładowanie elementów graficznych.
więc w ramce "vis" mam odpowiednie grafiki. Mają się one zmieniać, gdy w ramka "upd" tego zarząda. Wymyślę przykład:
Robię więc to tak, to kawałek kodu w ramce "upd":
var a=5;
var part="images/obrazek"+a+".png";
eval("top.vis.images.obrazek.src=part");
no i taki kawałek kodu działa znakomicie pod wymienionymi przeglądarkami, zmienia obrazek, ale pod tym starszym IE wywala błąd: że "top.vis.images.obrazek nie jest obiektem" (nie wiem, może wyrażenie w part powinno być w '').
Tak więc pytania z tematu tego postu brzmią tak: czy parent odwołuje się do nadrzędnej ramki? W tym przypadku jest top, czyli od razu "leci" się od głównej?
Oto te ramki, powycinałem zbędne rzeczy, by nie zaciemniać obrazu (powycinałem znaki mniejszości/większości):
frameset framespacing="0" cols="350,*,0"
frame name="vis" src="vis.php"
frameset framespacing="0" rows="70,*"
frame name="msg" src="msg.php"
frame name="obj" src="obj.php"
/frameset
frame name="upd" src="upd.php"
/frameset
wygląda to tak, że po lewej jest ramka vis, w środku są dwie ramki (u góry msg, na dole obj) a po prawej jest ramka upd. Tak więc myślę, że wszystkie te ramki traktować mogę jako top.vis, top.upd, top.obj, top.msg, etc. Dobrze myślę?
No i druga sprawa, czy jeżeli odwołuję się do elementu grafiki to czy dodawać "images", bez tego też działa, ale tak z ciekawości pytam. Oto przykład:
top.vis.document.images.obrazek.src="pliczek.png";
Podobnie sprawa odnosi się do formularzy, czy dodawać "forms":
top.vis.document.forms.dana.value='123456';
Dziękuje serdecznie z góry za wszelkie odpowiedzi, no i mam nadzieję, że ten post pomoże innym w przyszłości jeżeli będą mieli dylematy tego typu w JS. Pozdrawianesa!!