Подтвердить что ты не робот

Могу ли я запретить консоли Chrome Developer Tools регистрировать ошибки изображения 404?

Консоль инструментов Chrome Developer Tools регистрирует ошибку каждый раз, когда ресурс страницы (включая изображение) не найден (т.е. возвращает 404).

В своей работе я часто работаю на сайтах, где изображения предоставляются третьими лицами и могут быть недоступны во время разработки. Наличие каждого недостающего изображения появляется в виде ошибки в консоли, что еще труднее заметить другие более важные ошибки (например, ошибки JavaScript).

Есть ли параметр, который останавливает консоль, регистрируя необоснованные изображения как ошибки?

Или есть ли способ фильтровать сообщения консоли по тем же критериям, что вы можете фильтровать запросы на вкладке "Сеть"?

(см., например, http://chromium.googlecode.com/issues/attachment?aid=1337330000000&name=Screenshot-Google%2B+-+Google+Chrome.png&token=1F05er8uKjAQEEBrUITFjsIGJ2A%3A1358867878658&inline=1)

4b9b3361

Ответ 1

Работа над этим "началась" командой Chromium: https://code.google.com/p/chromium/issues/detail?id=96212.

Обновление: запрос функции был закрыт 18 марта 2013 года. Я не уверен, в какой версии Chrome эта функция появилась впервые, но я могу подтвердить параметры фильтрации консоли в моем Chrome v33.0.1750.152 (Linux).

Обновление 2: в настоящее время, когда вводится фильтр (простой текст или регулярное выражение), он проверяется на соответствие тексту сообщения (например, GET http://example.com/foobar 404 (Not Found)), а также тексту ссылка справа (например, test.html:65). (Я подал проблему с Chromium, чтобы отследить это.)

В качестве обходного пути используйте фильтр регулярных выражений, например:

^(?!.* 404 \(Not Found\))(?!.*[file name])

где [file name] - это имя файла с правой стороны ссылки.

Например, если моя страница - test.html, то будет работать ^(?!.* 404 \(Not Found\))(?!.*test\.html).

Примечание. При этом также будут отфильтрованы сообщения с именем файла в тексте сообщения. Я не уверен, что сейчас есть способ обойти это.

Обновление (2019-06-05): это выражение отфильтровывает 404 в моей текущей версии Chrome (75.0.3770.80):

-/404\s\(Not\sFound\)$/

Кажется, что фильтрация сначала разбивает строку фильтра по пробелам перед обработкой каждого токена, но она также разделяет пробелы внутри регулярного выражения, поэтому \s необходимы.

Технически, это отфильтрует любое сообщение, заканчивающееся (без учета регистра) строкой "404 (не найдено)", включая сообщения console.log.

Ответ 2

В инструментах разработчика Chrome, если вы нажмете на шестерню в правом верхнем углу, затем прокрутите вниз, в раздел консоли, появится "Скрыть настройки сетевых сообщений".

Обновление: Теперь оно находится под вкладкой "Консоль". Нажмите "Фильтр", и он будет на линии фильтра как флажок (@elado).

Ответ 3

В качестве альтернативного ответа вы можете запустить немного javascript, чтобы изменить атрибут src нарушающих образы, когда на вашем dev-сервере (просто убедитесь, что вы не публикуете его в своей производственной среде!).

Если вы не хотите на самом деле добавлять javascript на страницу (понятно), вы могли бы запустить script при загрузке страницы через плагин chrome (возможно, greasemonkey chrome clone - tampermonkey).

n.b. Благодарим за отзыв, особенно для этого, чтобы он работал, он должен быть в рамках события после того, как dom готов и до загрузки изображений.

Ответ 4

Другая альтернатива - это установить фильтр в "Журналы".

print

Ответ 5

Лучше всего поставить 404 изображение на сервер и проверить на стороне сервера, если файл существует, если не отображать образ 404 по умолчанию.

Привет

Ответ 6

В вашем приложении в вашем заявлении "catch" запишите исключение в разделе "console.warn".. знаю, что он работает с firebug. В Firebug вы можете найти эти "ошибки" на вкладке "предупреждения". Я хотел бы думать, что то же самое можно сказать и о инструментах разработчика Chrome.

действительно сделал что-то похожее на день назад. Мое приложение остановилось на некоторой ошибке, поэтому вместо этого я использовал блок "try" и "catch". Мой улов выглядит так:   catch (e) {    console.warn(е);   }