Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Вывод "лишних" элементов в консоли Chrome через команду print

Darkloke Знаток (304), на голосовании 7 месяцев назад
Добрый день.

Как можно (и можно ли) отключить вывод "технической" информации в консоли Chrome используя команду console.print? Насколько я понимаю он выводит javascript-источник, из которого берётся информация по запросу.
Голосование за лучший ответ
Константин Беккер Знаток (348) 8 месяцев назад
Вы можете отключить вывод "лишних" элементов в консоли Chrome, используя команду console.log вместо console.print. Команда console.log выводит только переданное ей сообщение, без дополнительной информации, такой как стек вызовов или номер строки.

Например, следующий код выведет в консоль сообщение "Привет, мир!" без дополнительной информации:

console.log("Привет, мир!");
Если вы хотите полностью отключить вывод в консоль, вы можете использовать команду console.silent. Она отключает все сообщения, отправленные в консоль, включая сообщения от console.log, console.warn и console.error.

Чтобы использовать console.silent, установите для нее значение true:

console.silent = true;
После этого никакие сообщения не будут выводиться в консоль, пока console.silent не будет установлено в false.
DarklokeЗнаток (304) 8 месяцев назад
Не помогает. Что с console.log, что с console.log всё равно выводится информация об источнике.

На stackoverflow давали совет использовать вот это, но всё равно не помогает:
 // console.print: console.log without filename/line number  
console.print = function (...args) {
queueMicrotask (console.log.bind (console, ...args)); }
console.print ...
Павел Просветленный (25617) 8 месяцев назад
Консоль браузера создана не для того чтобы пользователю взаимодействовать со страницей. Она нужна для вывода ошибок или других данных связанных с разработкой сайта. Поэтому данная информация необходима. Какой толк от вывода, если не знаешь в какой части кода было вызвано сообщение?

Хотите консольное приложение? Создайте блок DIV в HTML и выводите туда информацию так как пожелаете.

И нет никаких console.print и console.silent и модифицировать поведение console невозможно помимо встроенных функций или настроек браузера.

Вопрос из разряда "Как есть суп используя вилку?". Используй ложку!
DarklokeЗнаток (304) 8 месяцев назад
Я почему-то не могу отредактировать свой первоначальный пост, поэтому напишу ответ здесь в комментариях.

Для большинства сайтов сработало сл.:
 console.print = function (...args) { 
queueMicrotask (console.log.bind (console, ...args));
}
// Используем теперь console.print () для вывода
Но в моём случае на конкретном сайте при выводе консоли видимо "триггерился" какой-то технический js-скрипт на сервере (TrackJS JavaScript error monitoring agent) и поэтому способ выше не помогал, но помогло следующее:
  1. В DevTools открываем вкладку network и перезагружаем страницу
  2. Ищем в колонке name проблемный скрипт, который выводится у нас в логе и кой мы хотим убрать оттуда
  3. Выбираем его, делаем ПКМ -> Block Request URL
  4. Перезагружаем страницу - теперь данный скрипт не грузится.
Павел Просветленный (25617) Darkloke, я вопрос изначально понял иначе. Я думал нужно убрать конкретно выделенную красным колонну. Если бы вопрос звучал бы "Как убрать вывод конкретных JS файлов?", то ответ был бы иным. Данная ситуация показывает на сколько важно корректно сформулировать вопрос.
Похожие вопросы