2013-08-28 3 views
1

Есть ли кросс-браузер способ реализации функции console.log, Официальный браузер, поддерживаемый на моем одном из моих клиентов, все еще IE7/IE8.Как реализовать кросс-браузер console.log функциональность

Поскольку развитие тестируется с Firefox для его отладки возможностей, часто встречается вопросы, на выпуске в каком-то неясный поток по-прежнему остается ООН прокомментировал console.log заявления, которые не летают с IE

ищут свой род , если кто-то действительно использует элегантный способ, хотел бы учиться.

function log(msg){ 
    if(IE) alert(msg) 
    else 
    console.log(msg) 
} 
+5

Просто создайте поддельный «консольный» объект, если его уже нет – SLaks

+1

Код продукта обычно не нужно выводить на консоль – zzzzBov

+1

Помогает ли это? IE8 [Консоль Internet Explorer] (http://stackoverflow.com/questions/2656730/internet-explorer-console) – dc5

ответ

2

Вот вариант:

if (typeof console === "undefined" || typeof console.log === "undefined") { 
    console = {}; 
    console.log = function(msg) { 
     alert(msg); 
    }; 
} 

EDIT: как было отмечено другими, вы действительно должны убедиться, что console.log не заканчивается в производстве код.

+3

Мне не обязательно кажется, что console.log - это очень плохое по производственному коду. До тех пор, пока он не сломает что-либо, некоторые журналы, такие как «приложение загружено», «инициализировано« инициализировано »и т. Д., Могут быть неважными. если это не сломает материал, тогда да, это может быть проблемой. – demee

+0

@zigdawgydawg Это выглядит многообещающим, я проверю его и приму. – Venkat

2

Взгляните на что-то вроде:

log4javascript

или

log4js

Они, может быть, то, что вы ищете (есть и другие тоже)

Тогда вы можете определить, доступен ли консольный объект в браузере, который вы используете, и если нет, тогда назначьте pproitable функции из этих библиотек.

Хотя вы читаете свой вопрос, это похоже на проблему XY.

+0

хорошо знать библиотеку журналов для javascript, я дам ей вращение – Venkat

Смежные вопросы