derelict.hu – Kostyó-Fehér Nándor

flash dev, fotográfia, internet – személyes tapasztalataim a webfejlesztés és a portréfotózás világából, gyakori kitérőkkel az online világ felé.
regisztrálj! vagy jelentkezz be!

for (i in mc)

2 éve, 1 hónapja - kategória: flashdev, tagek: ,

némiképp bagatell probléma, de kemény kihívás tud lenni, ha idegen kódban turkálva jutsz oda, hogy az swf önmagában fut, az őt behívó clipben fut, böngészőben ugyanez a kombó már nem.

ha a kódban for (i in mc) résszel találkozol, az már gyanura adhat okot. ha ezen belül mc = mc[i]; és mc = mc._parent;, a kettő között pedig például mc.onRollOver és társai, emellett még valahol prototype-ot is írtál a clipekre, akkor már meg is van a hiba forrása. a for (i in mc) ugyanis kilistázza a prototype függvényeidet is (no meg minden egyebet, ami esetleg még ott lenne), amik már nem clipként viselkednek, nincsenek eseményeik és szüleik se nagyon. ennek eredményeképp az első ilyennél az mc hirtelen undefined-ba csap át és borult az egész ciklusod.

a fentire egy rövid megoldásként elővehetünk egy if (typeof(mc[i]) == “movieclip”) feltételt és nyugodhatunk békében. az hogy a hiba csak böngészőben jön elő, gondolom az adott sandbox beállításnak köszönhető, bár elég logikátlan, ha mégis így van.

oszd meg az élményt:
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Technorati
  • Facebook
  • Netvibes
a bejegyzés trackback címe:
http://www.derelict.hu/flashdev/for-i-in-mc/trackback/

hagyj üzenetet

XHTML: ezeket a tageket használhatod: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>