Tünet
IE6 és IE7 alatt olyan Javascript hibát dobott az imagebox galéria generáló Jquery könyvtár.


Probléma
Az volt a probléma, hogy a Drupal skin egyik befoglaló div-jének id-ja container volt. Ez IE alatt ütközést produkált az imagebox –al.
Átírtam az elem ID-ját másra és egyből jó lett.
Probléma beazonosításának menete
Először létrehoztam egy teszt HTML oldalt. Kimásoltam az eredeti oldal fejlécéből jquery.js és interface.js hivatkozást, az imagebox inicializáló rész és a képeket tartalmazó részt (test-virag.html). A HTML tökéletesen működött IE7 alatt.
Ezután fogtam az eredeti oldal (pl. http://sum.emesz.hu/en/cut_greens ) forráskódját és elkezdtem lebontani. Szépen sorban kivettem az egyes blokkokat, fejléc, lábléc diveket, CSS hivatkozásokat. Minden egyes lépésnél megnéztem, hogy a HTML hibát dob-e IE alatt. Egészen odáig eljutottam, hogy nem maradt más csak a wrapper és container div-ek és a képek meg a Javascript hivatkozások). És lám lám amikor kivettem a container div-et egyből elkezdett működni. Először nem tudtam, hogy pontosan mi a baj, ezért a divből először a class –t távolítottam el, majd miután így sem ment a div id-ját írtam át. Persze ekkor már volt egy sejtésem, hogy a container id-nek van köze az imagebox JS könyvtárhoz. Amikor átírtam a div id-ját containerbox-ra, tökéletesen működött a Javascript. (Container ID-t tartalmazó HTML)
Megoldás
A container id-jú div id paraméterét kellett átnevezni, pl. containerbox –ra, mivel összeakadt az Imagebox belső elnevezéseivel.
Tanulságos!
Amit én tanultam belőle
- SOHA NE ADD FEL!
- Ha végképp nem tudsz rájönni mi a baj (se a Javascript debugger, se a Webdeveloper toolbar nem segít), akkorReverse engineering módszert kell használni. Elkezdem visszabontani az alapokig a rendszert és minden lépésnél ellenőrzöm a működését.

You can always do a cheap
You can always do a cheap essay on this topic.