Gibt es einen Konsolenlogger für IE? Ich versuche, eine Reihe von Tests / Zusicherungen in der Konsole zu protokollieren, kann dies jedoch im IE nicht tun.
javascript
internet-explorer
internet-explorer-8
console
firebug
ground5hark
quelle
quelle
console.log()
funktioniert nur, wenn das dev-Tool des IE geöffnet ist (ja, der IE ist beschissen). siehe stackoverflow.com/questions/7742781/…Antworten:
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 eine der folgenden Aktionen ausführen:
Sie können die Konsole auch löschen, indem Sie anrufen
console.clear()
.HINWEIS: Anscheinend müssen Sie zuerst die Entwicklertools starten und dann Ihre Seite aktualisieren, damit dies funktioniert.
quelle
console.log()
. Schützen Sie Ihre Anrufe immer mitwindow.console && console.log('stuff');
Seit Version 8 verfügt Internet Explorer wie andere Browser über eine eigene Konsole. Wenn die Konsole jedoch nicht aktiviert ist, ist das
console
Objekt nicht vorhanden und ein Aufruf von löstconsole.log
einen Fehler aus.Eine andere Option ist die Verwendung von log4javascript (vollständige Offenlegung: von mir geschrieben), das über eine eigene Protokollierungskonsole verfügt, die in allen gängigen Browsern funktioniert, einschließlich IE> = 5, sowie einen Wrapper für die eigene Konsole des Browsers, der das Problem einer undefinierten vermeidet
console
.quelle
Sehr wichtig bei Verwendung von console.log () in der Produktion:
Wenn Sie am Ende
console.log()
Befehle für die Produktion freigeben , müssen Sie eine Korrektur für den IE vornehmen, da dieseconsole
nur imF12
Debugging-Modus definiert wird.[offensichtlich entfernen Sie die Warnung (msg); Aussage, sobald Sie überprüft haben, dass es funktioniert]
Siehe auch 'Konsole' ist ein undefinierter Fehler für Internet Explorer für andere Lösungen und weitere Details
quelle
Es gibt Firebug Lite, das viele Firebug-Funktionen im IE bietet.
quelle
Einfacher IE7 und niedriger Shim, der die Zeilennummerierung für andere Browser beibehält:
quelle
John Resig (Erfinder von jQuery) hat in seinem Buch "Secrets of Javascript Ninja" 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 wie er sie codiert hat:
quelle
}
in diesem Snippet fehlt. :)Für die auf console.log beschränkte IE8- oder Konsolenunterstützung (kein Debug, Trace, ...) können Sie Folgendes tun:
Wenn console ODER console.log undefiniert ist: Erstellen Sie Dummy-Funktionen für Konsolenfunktionen (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 zu console.log um, damit diese Protokolle beibehalten werden können!
window.console = { debug : window.console.log, ...};
Ich bin mir nicht sicher, ob Assert in verschiedenen IE-Versionen unterstützt wird, aber Vorschläge sind willkommen.
quelle
Sie können einen browserübergreifenden Wrapper verwenden: https://github.com/MichaelZelensky/log.js
quelle
Für ältere IE-Versionen (vor IE8) ist es nicht einfach, das Konsolenprotokoll in der IE Developer Toolbar anzuzeigen, nachdem ich stundenlang recherchiert und viele verschiedene Lösungen ausprobiert habe. Schließlich ist die folgende Symbolleiste ein großartiges Tool für mich:
Der Hauptvorteil davon ist die Bereitstellung einer Konsole für IE6 oder IE7, sodass Sie den Fehler sehen können (im Konsolenprotokoll).
quelle
Ich habe immer so etwas gemacht:
und von diesem Punkt an verwenden Sie einfach immer log (...), seien Sie nicht zu ausgefallen mit der Konsole. [warn | error | und so weiter], halten Sie es einfach. Normalerweise bevorzuge ich eine einfache Lösung gegenüber ausgefallenen externen Bibliotheken, die sich normalerweise auszahlt.
einfache Möglichkeit, Probleme mit dem IE zu vermeiden (mit nicht vorhandenem console.log)
quelle