Как я могу использовать консольное ведение журнала в Internet Explorer? - PullRequest
117 голосов
/ 17 апреля 2010

Есть ли консольный логгер для IE? Я пытаюсь записать на консоль кучу тестов / утверждений, но не могу сделать это в IE.

Ответы [ 9 ]

144 голосов
/ 17 апреля 2010

Вы можете получить доступ к консоли сценариев IE8, запустив «Инструменты разработчика» (F12). Перейдите на вкладку «Сценарий», затем нажмите «Консоль» справа.

В своем коде 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().

ПРИМЕЧАНИЕ: Похоже, сначала необходимо запустить Инструменты разработчика, а затем обновить страницу, чтобы это работало.

24 голосов
/ 17 апреля 2010

Начиная с версии 8, Internet Explorer имеет собственную консоль, как и другие браузеры. Однако, если консоль не включена, объект console не существует, и вызов console.log вызовет ошибку.

Другой вариант - использовать log4javascript (полное раскрытие: написано мной), который имеет собственную консоль ведения журнала, которая работает во всех основных браузерах, включая IE> = 5, плюс оболочку для собственного браузера. консоль, позволяющая избежать появления неопределенной console.

12 голосов
/ 23 февраля 2013

Чрезвычайно важно, если в консоли используется console.log ():

если вы в конечном итоге выпускаете команды console.log() для производства, вам нужно внести какое-то исправление для IE - потому что console определяется только в режиме отладки F12.

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

[очевидно, удалить предупреждение (msg); заявление, как только вы убедились, что оно работает]

См. Также «консоль» - неопределенная ошибка для Internet Explorer для других решений и более подробной информации

9 голосов
/ 17 апреля 2010

Существует Firebug Lite , который дает большую функциональность Firebug в IE.

5 голосов
/ 17 июня 2013

Простая оболочка IE7 и ниже, которая сохраняет нумерацию строк для других браузеров:

/* console shim*/
(function () {
    var f = function () {};
    if (!window.console) {
        window.console = {
            log:f, info:f, warn:f, debug:f, error:f
        };
    }
}());
3 голосов
/ 11 декабря 2013

В своей книге «Секреты ниндзя Javascript» Джон Резиг (John Resig) (создатель 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, " "));
  }
}
2 голосов
/ 09 апреля 2013

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

  • Если console ИЛИ console.log не определено: Создать фиктивные функции для консольные функции (trace, debug, log, ...)

    window.console = { debug : function() {}, ...};

  • Иначе, если console.log определен (IE8) И console.debug (любой другой) не определен: перенаправить все функции ведения журнала в console.log, это позволяет сохранить эти журналы!

    window.console = { debug : window.console.log, ...};

Не уверен насчет поддержки assert в различных версиях IE, но любые предложения приветствуются.

0 голосов
/ 08 августа 2016

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

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

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

enter image description here

0 голосов
/ 18 февраля 2014

Вы можете использовать кросс-браузерную оболочку: https://github.com/MichaelZelensky/log.js

...