Как распечатать отладочные сообщения в консоли Google Chrome JavaScript?
Обратите внимание, что консоль JavaScript отличается от отладчика JavaScript; у них разный синтаксис AFAIK, поэтому команда печати в JavaScript Debugger здесь не будет работать. В консоли JavaScript print()
отправит параметр на принтер.
javascript
console
debugging
google-chrome
Тамас Чинеге
источник
источник
console.log()
это здорово для отладки js ... Я часто забываю использовать его на практике.console.log()
код должен быть удален из рабочего кода перед развертыванием.Console.Log
должны быть удалены из рабочего кода перед развертыванием, потому что в противном случае эти сообщения будут записываться в консоль JavaScript вашего пользователя. Хотя они вряд ли увидят это, они занимают место на своем устройстве. Кроме того, в зависимости от содержимого журнала, вы можете рассказать людям, как взломать / перепроектировать ваше приложение.Продолжая идею Андру, вы можете написать скрипт, который создает консольные функции, если они не существуют:
Затем используйте любое из следующего:
Эти функции будут регистрировать различные типы элементов (которые могут быть отфильтрованы на основе журнала, информации, ошибки или предупреждения) и не вызовут ошибок, когда консоль недоступна. Эти функции будут работать в консолях Firebug и Chrome.
источник
if (!window.console) {
запустите «если» один раз, как, а затем поместите все в скобки? Прямо сейчас вы оцениваете одно и то же четыре раза.Просто добавьте классную функцию, которую многие разработчики упускают:
Это волшебный
%o
дамп кликабельного и глубоко просматриваемого контента объекта JavaScript.%s
был показан только для записи.И это тоже круто:
Который дает Java-подобную трассировку стека до точки
new Error()
вызова (включая путь к файлу и номер строки !).Оба
%o
иnew Error().stack
доступны в Chrome и Firefox!Также для трассировки стека в Firefox используйте:
Как говорит https://developer.mozilla.org/en-US/docs/Web/API/console .
Удачного взлома!
ОБНОВЛЕНИЕ : Некоторые библиотеки написаны плохими людьми, которые переопределяют
console
объект для своих собственных целей. Чтобы восстановить исходный браузерconsole
после загрузки библиотеки, используйте:См. Вопрос переполнения стека Восстановление console.log () .
источник
Просто быстрое предупреждение - если вы хотите протестировать в Internet Explorer, не удаляя все console.log (), вам нужно будет использовать Firebug Lite, или вы получите несколько не совсем дружественных ошибок.
(Или создайте свой собственный console.log (), который просто возвращает false.)
источник
console
объект будет создан и существует до тех пор, пока вы не закроете этот экземпляр браузера.Вот короткий скрипт, который проверяет, доступна ли консоль. Если это не так, он пытается загрузить Firebug, а если Firebug недоступен, он загружает Firebug Lite. Теперь вы можете использовать
console.log
в любом браузере. Наслаждайтесь!источник
В дополнение к ответу Делана Азабани , я хотел бы поделиться своим
console.js
, и я использую для той же цели. Я создаю консоль noop, используя массив имен функций, что, на мой взгляд, является очень удобным способом сделать это, и я позаботился об Internet Explorer, у которого естьconsole.log
функция, но нетconsole.debug
:источник
Или используйте эту функцию:
источник
console.constructor === Object && (log = m => console.log(m))
Вот мой класс оболочки консоли. Это дает мне возможность выхода из области видимости, чтобы облегчить жизнь. Обратите внимание на использование
localConsole.debug.call()
так, чтобы онlocalConsole.debug
работал в области вызывающего класса, предоставляя доступ к егоtoString
методу.Это дает вывод как в Firebug :
Или Chrome:
источник
Лично я использую это, которое похоже на tarek11011:
Суть в том, что это хорошая идея, по крайней мере, иметь некоторую практику ведения журналов, а не просто вставлять
console.log()
прямо в код JavaScript, потому что, если вы забудете об этом, и он находится на рабочем сайте, он может потенциально сломать весь код JavaScript. для этой страницы.источник
if(windows.console) console.log(msg)
?window.console
ты имеешь в виду. единственный раз, когда попытка будет полезна, это если выдается ошибка (если console.log не является функцией) с момента переопределения консоли. Делатьwindow.console && window.console.log instanceof Function
было бы более полезным.Вы можете использовать,
console.log()
если у вас есть отлаженный код в редакторе программного обеспечения, который у вас есть, и вы увидите вывод, который, скорее всего, лучший для меня (Google Chrome). Просто нажмите F12и нажмите вкладку Консоль. Вы увидите результат. Удачного кодирования. :)источник
У меня было много проблем с разработчиками, проверяющими их операторы console. (). И мне действительно не нравится отладка Internet Explorer, несмотря на фантастические улучшения Internet Explorer 10 и Visual Studio 2012 , и т.д.
Итак, я переопределил сам объект консоли ... Я добавил флаг __localhost, который разрешает операторы консоли только на локальном хосте. Я также добавил функции консоли. () В Internet Explorer (вместо этого отображается предупреждение ()).
Пример использования:
Chrome / Firefox:
Internet Explorer:
Для тех, кто присматривается к коду, вы обнаружите функцию console.examine (). Я создал это несколько лет назад, чтобы я мог оставлять отладочный код в определенных областях продукта, чтобы устранять проблемы QA / клиента. Например, я бы оставил следующую строку в некотором выпущенном коде:
А затем из выпущенного продукта введите следующее в консоль (или в адресную строку с префиксом 'javascript:'):
Затем я увижу все зарегистрированные операторы console.examine (). Это была фантастическая помощь много раз.
источник
Простой Internet Explorer 7 и ниже, который поддерживает нумерацию строк для других браузеров:
источник
При использовании этого метода печатается текст ярко-синего цвета в консоли.
источник
Дальнейшее совершенствование идей Делана и Андру (именно поэтому этот ответ является отредактированной версией); console.log, вероятно, существует, в то время как другие функции могут не существовать, поэтому по умолчанию сопоставьте с той же функцией, что и console.log ....
Вы можете написать скрипт, который создает консольные функции, если они не существуют:
Затем используйте любое из следующего:
Эти функции будут регистрировать различные типы элементов (которые могут быть отфильтрованы на основе журнала, информации, ошибки или предупреждения) и не вызовут ошибок, когда консоль недоступна. Эти функции будут работать в консолях Firebug и Chrome.
источник