wake-up-neo.com

Wie kann ich die Konsolenprotokollierung in Internet Explorer verwenden?

Gibt es einen Konsolenlogger für den IE? Ich versuche, eine Reihe von Tests/Behauptungen auf der Konsole zu protokollieren, aber ich kann dies nicht im IE tun.

117
ground5hark

Sie können auf die IE8-Skriptkonsole zugreifen, indem Sie die "Developer Tools" (F12) starten. Klicken Sie auf die Registerkarte "Skript" und dann rechts auf "Konsole".

In Ihrem JavaScript-Code können Sie folgende Aktionen ausführen:

<script type="text/javascript">
    console.log('some msg');
    console.info('information');
    console.warn('some warning');
    console.error('some error');
    console.assert(false, 'YOU FAIL');
</script>

Sie können die Konsole auch löschen, indem Sie console.clear() aufrufen.

HINWEIS: Sie müssen anscheinend zuerst die Entwicklertools starten und dann Ihre Seite aktualisieren, damit dies funktioniert.

144
Craig

Seit Version 8 verfügt der Internet Explorer wie andere Browser über eine eigene Konsole. Wenn die Konsole jedoch nicht aktiviert ist, ist das Objekt console nicht vorhanden und ein Aufruf von console.log wird einen Fehler auslösen.

Eine andere Möglichkeit ist die Verwendung von log4javascript (vollständige Offenlegung: von mir geschrieben), das eine eigene Protokollierungskonsole hat, die in allen gängigen Browsern funktioniert, einschließlich IE> = 5, plus einen Wrapper für die browsereigene Konsole, der die Ausgabe eines undefinierten console vermeidet.

24
Tim Down

Sehr wichtig, wenn Sie console.log () in der Produktion verwenden:

wenn Sie am Ende die Befehle console.log() für die Produktion freigeben, müssen Sie eine Art Fix für IE - einfügen, da console nur definiert wird, wenn in _F12_ Debugging-Modus.

_if (typeof console == "undefined") {
    this.console = { log: function (msg) { alert(msg); } };
}
_

[offensichtlich die Warnung entfernen (msg); Anweisung, sobald Sie überprüft haben, dass es funktioniert]

Siehe auch 'console' ist ein undefinierter Fehler für Internet Explorer für andere Lösungen und weitere Details

12
Simon_Weaver

Es gibt Firebug Lite , das im IE viele Firebug-Funktionen bietet.

9
Daniel DiPaolo

Einfaches IE7-Shim und niedriger, das die Zeilennummerierung für andere Browser beibehält:

/* console shim*/
(function () {
    var f = function () {};
    if (!window.console) {
        window.console = {
            log:f, info:f, warn:f, debug:f, error:f
        };
    }
}());
5
dbrin

In seinem Buch "Secrets of Javascript Ninja" hat John Resig (Schöpfer von jQuery) einen wirklich einfachen Code, der browserübergreifende Probleme mit console.log behandelt. Er erklärt, dass er eine Protokollnachricht haben möchte, die mit allen Browsern funktioniert, und hier ist, wie er es codiert:

function log() {
  try {
    console.log.apply(console, arguments);
  } catch(e) {
  try {
    opera.postError.apply(opera, arguments);
  }
  catch(e) {
    alert(Array.prototype.join.call( arguments, " "));
  }
}
3
ambodi

Für die auf console.log beschränkte IE8- oder Konsolenunterstützung (kein Debug, Trace, ...) können Sie folgende Aktionen ausführen:

  • If console OR console.log undefined: Dummy-Funktionen für Konsolenfunktionen erstellen (Trace, Debug, Log, ...)

    window.console = { debug : function() {}, ...};

  • Andernfalls, wenn console.log definiert ist (IE8) UND console.debug (irgendein anderes) nicht definiert ist: leiten Sie alle Protokollierungsfunktionen nach console.log um, um diese Protokolle beizubehalten!

    window.console = { debug : window.console.log, ...};

Nicht sicher über die Assert-Unterstützung in verschiedenen IE Versionen, aber Vorschläge sind willkommen.

2

Bei älteren Versionen von IE (vor IE8)) ist es nicht einfach, die Konsolenanmeldung zu sehen IE Developer Toolbar), nachdem Sie stundenlang recherchiert und viele ausprobiert haben verschiedene Lösungen, schließlich ist die folgende Symbolleiste ein großartiges Werkzeug für mich:

Der Hauptvorteil besteht darin, eine Konsole für IE6 oder IE7 bereitzustellen, damit Sie sehen können, wo der Fehler liegt (im Konsolenprotokoll).

  • Hinweis:
  • Es ist frei
  • screenshot der Symbolleiste

enter image description here

0
super1ha1

Sie können einen browserübergreifenden Wrapper verwenden: https://github.com/MichaelZelensky/log.js

0