Ich entwickelte an einer Web-Anwendung mit dem Javascript Framework Ext JS, welches für alle gängigen Browser funtkionieren soll. Wie bei vielen anderen Entwicklern ist auch bei mir der Firefox mit dem Firebug Plugin die erste Wahl, was den Browser betrifft. Neben Firefox lief auch in Googles Chrome die Anwendung wie erwartet. Ein Test im Internet Explorer führte aber dazu, dass einige Dialoge sich nicht öffnen ließen und der Browser sich aufhängte. Mein erster Verdacht war: “Hmm, da unterstützt Ext JS wohl doch nicht alle Browser gleichermaßen gut.” Ein wenig Javascript Debugging sollte Aufschluß über diese Problematik geben. Die Verabarbeitung kam bis zu einer Stelle, an der ein Datum geparst wurde.
new Date('2100-01-01') |
Nach dem Auskommentieren lief auch im IE alles problemlos – was war nun falsch an diesem Ausdruck, der im Firefox und im Chrome funktionierte?
Es kam heraus, dass der IE mit dem String nichts anfangen kann und NaN (Not a Number) zurückgibt. Das Problem wäre sofort ersichtlich gewesen, würde nicht die Methode clearTime() aufgerufen werden, welche auf NaN angewendet, anscheinend eine Endlosschleife auslöst. Die Lösung war letztendlich die Javascript-Doku unter Selfhtml zu lesen und das Datum korrekt anzugeben.
Date(2100, 0, 1) |
Hierbei ist zu beachten, dass der Monat mit 0 beginnt!
Es lag also nicht am Ext JS, sondern an der falschen Notation des Datums.
