Montag, 17. November 2008

[object Error] im Internet Explorer

Ich bin endlich mal wieder am Weiterentwickeln meiner RIA. 3 Tage habe ich Zeit, bevor ich wieder schule.

Jetzt hatte ich mir für heute vorgenommen, endlich den Fehler im Internet Explorer rauszubekommen. Wie schon früher gepostet, werde ich wegen dem Internet Explorer bald wahnsinnig. Und nicht nur ich, wenn ich die Kommentare anderer Webentwickler im Internet sehe.

Jetzt programmiere ich ja gerade eine komplexere AJAX-RIA mit Dojo und Prototype als AJAX-Frameworks zur Unterstützung. Und wie gesagt funktioniert sie auch in allen relevanten Browsern. Nur der Internet Explorer kapiert es einfach nicht. Die Applikation meldet einen [object Error].

Jetzt habe ich bisher den IE einfach ignoriert und die RIA für alle anderen Browser entwickelt. Nur irgendwann muss ich mich dem Problem stellen.

Nun habe ich heute morgen alles Mögliche im IE aufgerüstet:

Script Debugger
,
DebugBar,
IE Developer Toolbar,
IE HttpAnalyzer

Eben alles, was man so braucht, um eine Webapplikation zu analysieren. Zwar gibt es für den IE noch lange nicht die Unterstützung wie für Firefox, aber immerhin ist mittlerweile da auch was da. Und bei dem komplexen Zusammenspiel zwischen AJAX, Prototype und Dojo kann der Fehler ja wer weis wo stecken. Gerade im Zusammenhang mit AJAX sind ja eine Vielzahl von Fehlern im IE bekannt.

NUR!

Mit dem Zeug war ich so schlau wie zuvor. Nichts zu erkennen, warum das Teil aussteigt. Nur eben eine vollkommen nichstsagende Fehlermeldung, die auf irgendein schwerwiegendes Problem hinweist.

Dann also Holzhackermethode und in die JavaScripts nach jedem Schritt ein alert() rein. Und so schrittweise dem Fehler genährt.

Und irgendwann tatsächlich die Zeile gefunden, die den Fehler auswirft:

$(index).style.background = "lightgray";

Bisschen gespielt:

$(index).style.background = "red";



Kein Fehler mehr!

Nicht geglaubt!

Das kann nicht sein.

Weiter gespielt mit anderen Farbnamen.

Kein Fehler mehr!

Ich fasse es nicht.
Wie blöd kann ein Browser sein? Er kennt einfach bei einer Zuweisung per DHTML den Standardtoken "lightgray" nicht und wirft eine Fehlermeldung aus, als ob da ein ultraschwerwiegendes Problem vorliegt ;-(.

Hab alle Token "lightgray" in der Applikation beseitigt und sie läuft auch im IE. Zwar noch nicht ganz fehlerfrei und das Design sieht besch... aus. Aber das sind die üblichen Mängel im IE und die bekomme ich recht sicher in den Griff.
Kommentar veröffentlichen

Onlinetraining mit Ralph Steyer

Onlinetraining mit Ralph Steyer
Onlinetraining mit Ralph Steyer und anderen Autoren bei Video2Brain