[IE] [Updated]Console Logging im Internet Explorer (8/9/…)
Update: Jetzt weiß ich, woher die Annahme kommt, dass "console" nicht im IE funktioniert: Solange die Developer Tools nicht aktiv sind, existiert das "console" Objekt nicht. D.h. erst bei geöffneter Console können die API Aufrufe erst funktionieren - umso wichtiger ist es, dass vor der Benutzung das Objekt überprüft wird!
Update2: Das gilt nicht mehr für IE10!
Vor kurzem kam in einem Gespräch das Thema Logging Mechanismen in Javascript auf, bei dem die Behauptung aufgestellt worden ist, dass das Loggen über “console” im Internet Explorer nicht funktionieren würde.
Seit der Einführung der Developer Tools in Internet Explorer 8 unterstützt der Internet Explorer die typischen console APIs selbstverständlich.
Hier eine einfache Demo, dazu zuerst mittles F12 (oder dem entsprechenden Menü) die Developer Tools öffnen und in IE8 auf den Reiter “Script” und im IE9/IE10pp2 entweder “Script” oder “Console” auswählen.
Nun beliebig mit den u.g. Buttons rumspielen:
Console.info
Console.log
Console.warn
Console.error
Console.assert (false)
Console.assert (true)
Console.debug
Console.clear
Der Output in der Console sieht dann ungefähr so aus:
Die Beschreibung in der MSDN zu diesem Feature kann hier gefunden werden:
https://msdn.microsoft.com/en-us/library/dd565625(VS.85).aspx#consolelogging
Hinweis: nativ unterstützt der IE console.debug nicht. Wie aus der Docu hervorgeht ist es so gewollt, denn “debug” soll entsprechend der eigenen Wünsche angepasst werden, Democode ist auf der MSDN Seite zu finden.
Über das Filtermenü des Context-Menüs (->rechts Klick) können auch die entsprechenden Ausgaben angepasst werden:
und über “console.clear()” können die “gewollten” console.x Angaben gelöscht werden. Davon sind dann keine “echten” Fehler betroffen
Hinweis zur Performance:
Natürlich sollte man bei produktiven Systemen die Nutzung einschränken, da hier je nach Logging Tiefe (oder sollte ich lieber “Wut” sagen? ) natürlich viel Performance verloren gehen kann.
Nachtrag: das Thema console wird auch kurz im MIX 11 Video "Hacking with the F12 Developer Tools" (etwa bei Min 12) erwähnt.
Es ist nie zu spät und selten zu früh!
Bis zum nächsten Post
Stephanus