Felfri konsolloggning - 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); ) ) )

Om du lämnar console.log, console.info, etc. meddelanden i din JavaScript-kod och öppnar sidan i webbläsaren som IE kan det stoppa sidladdningen helt och säga att "console not defined", särskilt om din användare använder en icke-IE8-webbläsare.

Detta kodavsnitt låter dig lämna loggningsmeddelandet som sådant i din kod om du vill och din sida kommer att återges ordentligt i IE eller någon annan webbläsare som inte stöder konsolmeddelandena.

Användande

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

FB.log-funktionen accepterar två parametrar, den första är "objektet" som du vill visa i firebug-konsolen och den andra är den firebug-metod som du vill använda för loggning, som info, fel, etc. Om du utelämnar den andra parametern resultatet kommer att motsvara console.log ()

Enkelt loggbart sätt

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