Как использовать консольное ведение журнала в Internet Explorer?
Есть ли консольный журнал для IE? Я пытаюсь записать кучу тестов/утверждений на консоль, но я не могу сделать это в IE.
Ответы
Ответ 1
Вы можете получить доступ к консоли IE8 script, запустив "Инструменты разработчика" (F12). Перейдите на вкладку "Script", затем нажмите "Консоль" справа.
Из вашего кода JavaScript вы можете выполнить любое из следующих действий:
<script type="text/javascript">
console.log('some msg');
console.info('information');
console.warn('some warning');
console.error('some error');
console.assert(false, 'YOU FAIL');
</script>
Кроме того, вы можете очистить консоль, вызвав console.clear()
.
ПРИМЕЧАНИЕ.. Похоже, вы должны сначала запустить Инструменты разработчика, а затем обновить страницу, чтобы это работало.
Ответ 2
Начиная с версии 8, Internet Explorer имеет свою собственную консоль, как и другие браузеры. Однако, если консоль не включена, объект console
не существует и вызов console.log
вызывает ошибку.
Другой вариант - использовать log4javascript (полное раскрытие: написанное мной), у которого есть своя консоль регистрации, которая работает во всех включая IE >= 5, а также оболочку для собственной консоли браузера, которая позволяет избежать проблемы с undefined console
.
Ответ 3
Чрезвычайно важно при использовании console.log() в производстве:
если вы закончите выпуск команд console.log()
для производства, вам нужно установить какое-то исправление для IE, потому что console
определяется только в режиме F12
отладки.
if (typeof console == "undefined") {
this.console = { log: function (msg) { alert(msg); } };
}
[очевидно, удалить предупреждение (msg); после того, как вы проверили его работу]
См. также 'console' - ошибка undefined для Internet Explorer для других решений и более подробная информация
Ответ 4
Существует Firebug Lite, который дает много функциональности Firebug в IE.
Ответ 5
Простая настройка IE7 и ниже, которая сохраняет нумерацию строк для других браузеров:
/* console shim*/
(function () {
var f = function () {};
if (!window.console) {
window.console = {
log:f, info:f, warn:f, debug:f, error:f
};
}
}());
Ответ 6
В своей книге "Секреты Javascript Ninja" Джон Ресиг (создатель jQuery) имеет действительно простой код, который будет обрабатывать проблемы с несколькими браузерами console.log. Он объясняет, что он хотел бы иметь сообщение журнала, которое работает со всеми браузерами, и вот как он закодировал его:
function log() {
try {
console.log.apply(console, arguments);
} catch(e) {
try {
opera.postError.apply(opera, arguments);
}
catch(e) {
alert(Array.prototype.join.call( arguments, " "));
}
}
Ответ 7
Для поддержки IE8 или консоли, ограниченных console.log(нет отладки, трассировки,...), вы можете сделать следующее:
-
Если консоль OR console.log undefined: создайте фиктивные функции для
функции консоли (трассировка, отладка, журнал,...)
window.console = {
debug : function() {}, ...};
-
Иначе, если console.log определен (IE8) И console.debug(любой другой) не определен: перенаправлять все функции ведения журнала на console.log, это позволяет сохранить эти журналы!
window.console = {
debug : window.console.log, ...};
Не уверен в поддержке assert в разных версиях IE, но любые предложения приветствуются.
Ответ 8
Вы можете использовать кросс-браузерную оболочку: https://github.com/MichaelZelensky/log.js
Ответ 9
Для более старой версии IE (до IE8), не просто увидеть консольный журнал в IE Developer Toolbar, потратив часы на исследования и попробовав много разных решений, наконец, следующая панель инструментов - отличный инструмент для меня:
Основным преимуществом этого является предоставление консоли для IE6 или IE7, поэтому вы можете увидеть, что такое ошибка (в журнале консоли)
- Примечание:
- Это бесплатно
- Снимок экрана панели инструментов