Что нового в DevTools (Chrome 66)

Кейси Баск
Kayce Basques

В Chrome 66 появятся новые функции и существенные изменения в инструментах разработчика, в том числе:

Читайте дальше или посмотрите видеоверсию примечаний к выпуску ниже.

Игнорировать скрипт на панели «Сеть»

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

Ранее, если ваш фреймворк оборачивал сетевые запросы в обертку, столбец «Инициатор» был малополезен. Все сетевые запросы указывали на одну и ту же строку кода обертки.

В этой ситуации вам действительно нужно увидеть код приложения, который вызывает запрос. Теперь это возможно:

  1. Наведите курсор на столбец «Инициатор» . Во всплывающем окне отобразится стек вызовов, вызвавший запрос.
  2. Щелкните правой кнопкой мыши по вызову, который вы хотите скрыть от результатов инициации.
  3. Выберите «Добавить скрипт в список игнорирования» . Теперь в столбце «Инициатор» скрыты все вызовы из скрипта, которые вы игнорировали.

Игнорирование файла 'requests.js'.

Рисунок 1. Игнорирование requests.js

Управляйте игнорируемыми скриптами на вкладке «Список игнорируемых» в настройках .

Подробнее об игнорировании скриптов см. в разделе «Игнорирование скрипта или шаблона скриптов» .

Красивое форматирование текста на вкладках «Предварительный просмотр» и «Ответ».

Теперь вкладка «Предварительный просмотр» на панели «Сеть» по умолчанию форматирует ресурсы, если обнаруживает, что они были сжаты.

Вкладка «Предварительный просмотр» по умолчанию отображает содержимое файла analytics.js в удобочитаемом формате.

Рисунок 2. Вкладка « Предварительный просмотр» по умолчанию отображает содержимое файла analytics.js в отформатированном виде.

Чтобы просмотреть неминифицированную версию ресурса, используйте вкладку «Ответ» . Вы также можете вручную форматировать ресурсы с помощью новой кнопки «Формат» на вкладке «Ответ» .

Форматирование содержимого файла analytics.js вручную с помощью кнопки «Формат».

Рисунок 3. Ручная форматированная печать содержимого analytics.js с помощью кнопки «Формат» .

Предварительный просмотр HTML-контента на вкладке «Предварительный просмотр».

Ранее вкладка «Предварительный просмотр» на панели «Сеть» в определенных ситуациях отображала код HTML-ресурса, а в других — предварительный просмотр самого HTML-кода. Теперь вкладка «Предварительный просмотр» всегда отображает базовый HTML-код. Она не предназначена для полноценной работы в браузере, поэтому может отображать HTML не совсем так, как вы ожидаете. Чтобы увидеть HTML-код, щелкните вкладку «Ответ» или щелкните правой кнопкой мыши ресурс и выберите «Открыть в панели «Источники»» .

Предварительный просмотр HTML на вкладке «Предварительный просмотр».

Рисунок 4. Предварительный просмотр HTML на вкладке «Предварительный просмотр» .

Автоматическая настройка масштабирования в режиме устройства.

В режиме устройства откройте выпадающее меню «Масштабирование» и выберите «Автоматическая настройка масштаба» , чтобы автоматически изменять размер области просмотра при изменении ориентации устройства.

Функция «Локальное переопределение» теперь работает с некоторыми стилями, определенными в HTML.

Когда в Chrome 65 появилась функция «Локальные переопределения» в инструментах разработчика, одним из ограничений было то, что она не могла отслеживать изменения стилей, определенных внутри HTML. Например, на рисунке 7 в head документа есть правило стиля, которое объявляет font-weight: bold для элементов h1 .

Пример стилей, определенных в HTML.

Рисунок 5. Пример стилей, определенных в HTML.

В Chrome 65, если вы изменяли параметр font-weight через панель « Стили » в инструментах разработчика, локальные переопределения не отслеживали это изменение. Другими словами, при следующей перезагрузке стиль возвращался к font-weight: bold . Но в Chrome 66 подобные изменения сохраняются при каждой загрузке страницы.

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

Когда я создавал видео «Начало отладки JavaScript» , некоторые зрители отметили, что точки останова для обработчиков событий бесполезны для приложений, построенных на основе фреймворков, поскольку обработчики событий часто обернуты в код фреймворка. Например, на рисунке 8 я установил точку останова click в DevTools. Когда я нажимаю кнопку в демонстрации, DevTools автоматически приостанавливается на первой строке кода обработчика событий. В данном случае приостановка происходит в коде-обертке Vue.js на строке 1802, что не очень полезно.

Точка останова при клике приостанавливает выполнение кода-обертки Vue.js.

Рисунок 6. Точка останова click в коде-обертке Vue.js.

Поскольку скрипт Vue.js находится в отдельном файле, я могу игнорировать его в панели «Стек вызовов» , чтобы сделать этот click пункт более полезным.

Игнорирование скрипта Vue.js в панели «Стек вызовов».

Рисунок 7. Игнорирование скрипта Vue.js на панели «Стек вызовов» .

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

Теперь точка останова при нажатии кнопки приостанавливается на коде обработчика событий приложения.

Рисунок 8. Точка останова click теперь приостанавливается на коде обработчика событий приложения.

Загрузите предварительные каналы

Рекомендуем использовать Chrome Canary , Dev или Beta в качестве браузера по умолчанию для разработки. Эти предварительные версии предоставляют доступ к новейшим функциям DevTools, позволяют тестировать передовые API веб-платформ и помогают выявлять проблемы на вашем сайте до того, как их обнаружат пользователи!

Свяжитесь с командой Chrome DevTools

Используйте следующие параметры для обсуждения новых функций, обновлений или чего-либо еще, связанного с DevTools.

Что нового в инструментах разработчика

Список всего, что было рассмотрено в серии статей «Что нового в инструментах разработчика» .