Konsoles reģistrēšana bez kļūdām - CSS-triki

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

Ja jūs savā JavaScript kodā atstājat console.log, console.info uc ziņojumus un atverat lapu pārlūkprogrammā, piemēram, IE, tas var pilnībā apturēt lapas ielādi, sakot, ka “konsole nav definēta”, it īpaši, ja jūsu lietotājs izmanto pārlūku, kas nav IE8.

Šis koda fragments ļaus jums atstāt reģistrēšanas ziņojumu kā tādu savā kodā, ja vēlaties, un jūsu lapa tiks renderēta pareizi IE vai jebkurā citā pārlūkprogrammā, kas neatbalsta konsoles ziņojumus.

Lietošana

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

Funkcija FB.log pieņem divus parametrus, no kuriem pirmais ir “vienums”, kuru vēlaties parādīt firebug konsolē, un otrais ir firebug metode, kuru vēlaties izmantot reģistrēšanai, piemēram, informācija, kļūda utt. izlaižot otro parametru, rezultāts būs ekvivalents console.log ()

Vienkāršs reģistrēšanās veids

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