Fehlerfreie Konsolenprotokollierung - CSS-Tricks

Anonim
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 die Nachrichten console.log, console.info usw. in Ihrem JavaScript-Code hinterlassen und die Seite im Browser wie dem Internet Explorer öffnen, wird das Laden der Seite möglicherweise vollständig angehalten und es wird "Konsole nicht definiert" angezeigt, insbesondere wenn Ihr Benutzer einen Browser verwendet, der kein IE8 ist.

Mit diesem Codefragment können Sie die Protokollierungsnachricht als solche in Ihrem Code belassen, wenn Sie dies wünschen, und Ihre Seite wird im IE oder einem anderen Browser, der die Konsolennachrichten nicht unterstützt, ordnungsgemäß gerendert.

Verwendung

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

Die FB.log-Funktion akzeptiert zwei Parameter. Der erste ist das „Element“, 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, z. B. Informationen, Fehler usw. Wenn Wenn Sie den zweiten Parameter weglassen, entspricht das Ergebnis console.log ()

Einfacher Nur-Protokoll-Weg

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