Fehlerfreie Konsolenprotokollierung

Avatar of Chris Coyier
Chris Coyier am
var Fb = {}; //An empty object literal for holding the function
Fb.log = function(obj, consoleMethod) {
       if (window.console && window.console.firebug && window.console.firebug.replace(/^\s\s*/, '').replace(/\s\s*$/, '') !== '') {
               if (typeof consoleMethod === "string" && typeof console[consoleMethod] === "function") {
                       console[consoleMethod](obj);
               } else {
                       console.log(obj);
               }
       }
}

Wenn Sie `console.log`, `console.info` usw. Nachrichten in Ihrem JavaScript-Code belassen und die Seite in einem Browser wie IE öffnen, kann dies das Laden der Seite vollständig unterbrechen, da „console not defined“ angezeigt wird, insbesondere wenn Ihr Benutzer einen Browser verwendet, der kein IE8 ist.

Dieses Code-Snippet ermöglicht es Ihnen, die Protokollnachrichten nach Wunsch in Ihrem Code zu belassen, und Ihre Seite wird in IE oder jedem anderen Browser, der keine Konsolenmeldungen unterstützt, korrekt gerendert.

Verwendung

Fb.log("This will be logged");

Fb.log("This will be displayed in console as info", "info");

Die Funktion `FB.log` akzeptiert zwei Parameter: Der erste ist das „Item“, das Sie in der Firebug-Konsole anzeigen möchten, und der zweite ist die Firebug-Methode, die Sie für die Protokollierung verwenden möchten, wie `info`, `error` usw. Wenn Sie den zweiten Parameter weglassen, ist das Ergebnis mit `console.log()` gleichwertig.

Nur einfacher Log-Weg

function ltc(what) {
       try {
               console.log(what);
       }
       catch (e) {}
       finally {
               return;
       }
}
ltc("message");