Общая идиома, позволяющая избежать броска IE:Ошибка:«консоль» не определена
-
16-09-2019 - |
Вопрос
Я установил Firebug и записал все эти записи журнала.
Я протестировал свое приложение в IE и, конечно же, получил ошибку «неопределено».
Какая общая идиома позволяет избежать этого.
Мне не очень хочется комментировать все операторы console.log в моем файле или высмеивать их.
Ну, я не уверен, что делать.
Решение
я обычно делаю функцию-обертку следующим образом:
function log(obj) {
if (window.console && console.log) console.log(obj);
}
или вы можете сделать что-то вроде этого в начале файла/элемента сценария:
if (!window.console) {
window.console = {
log: function(obj){ /* define own logging function here, or leave empty */ }
};
}
Другие советы
У Пола Айриша есть обертка получше console.log()
.
http://paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/
Это позволяет использовать несколько аргументов и предоставляет историю (для отладки) на случай, если консоль отсутствует или (например, Firebug Lite) консоль создается позже.