Tag,
ein leidiges Thema, wie debugge ich sinnvoll JavaScript in IE? Kam sicherlich hier auch schon, habe aber keine Diskussion für IE8 gefunden.
Der bringt zwar einen eigenen "Entwicklermodus" mit, der ist aber ziemlich unbrauchbar. Ich habe grade mein aktuelles Projekt im IE gestartet um zu sehen, was passiert. Ein per JS angezeigtes Element wird nicht dargestellt, ideal also, um den Debugger mal zu testen.... [unnötig zu sagen, dass das Element in Firefox, Safari und Opera auftaucht...]
Zunächst muss ich den Debugger der Entwicklertools manuell starten, was einen Reload der Seite erzwingt. *puh*, das Element wird immer noch nicht angezeigt, der Fehler ist also wohl reproduzierbar. Mal fix nachgeschaut, der Browser läuft vollständig im IE8-Modus. Die Konsole zeigt nun eine Fehlermeldung "Id ist kein Objekt", dazu tatsächlich einen Verweis auf eine Zeile in einer JS-Datei. Id ist eine Eigenschaft eines Objektes, also möchte ich mir das Objekt anzeigen lassen. In die Konsole tippe ich also wie im Firefox ein: Global.objectname. Die Ausgabe ist äußerst aussagekräftig: "{...}"
Es gelingt mir nicht, mit den Inhalt des Objektes via Konsole anzeigen zu lassen. Die Reiter "überwachen" und "lokale Variablen" sind inaktiv.
Ich starte also das Debuggen neu, nun bleibt das Script in irgendeiner Schleife in einem Framework stehen und sagt "Id ist kein Objekt". Die Konsole gibt noch immer {...} aus, aber diesmal kann ich via "überwachen"-Reiter immerhin Global.objectname eintippen und bekomme tatsächlich das entsprechende Objekt angezeigt. Zu meiner Nicht-Überraschung steht da bei den Eigenschaften: Id = 123456. Der Debugger beharrt weiterhin darauf, dass Id nicht existiert.
Offensichtlich wird er sich des groben Widerspruchs selbst bewusst und entscheidet sich dazu, abzustürzen. Das Verhalten ist reproduzierbar, sobald ich in "Überwachen" ein Objekt anzeigen lasse, von dem der Debugger steif und fest behauptet, es existiere nicht, stürzt das ganze Ding ab.
Ich bin nun also mit dem IE8 keinen Deut besser dran als mit den Vorgängern. Die "DebugBar" bietet keine andere Funktionalität, die "Companion.JS"-Konsole kann sich seit IE8 nicht mehr an den IE anhängen.
Wie geht ihr mit dem Problem um? Wie debuggt ihr für IE(8)?