Как использовать консольное ведение журнала в 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, но любые предложения приветствуются.

Ответ 9

Для более старой версии IE (до IE8), не просто увидеть консольный журнал в IE Developer Toolbar, потратив часы на исследования и попробовав много разных решений, наконец, следующая панель инструментов - отличный инструмент для меня:

Основным преимуществом этого является предоставление консоли для IE6 или IE7, поэтому вы можете увидеть, что такое ошибка (в журнале консоли)

  • Примечание:
  • Это бесплатно
  • Снимок экрана панели инструментов

введите описание изображения здесь