Описание
Используйте API chrome.devtools.network для получения информации о сетевых запросах, отображаемой инструментами разработчика на панели «Сеть».
Манифест
Для получения общего представления об использовании API инструментов разработчика см. раздел «Краткое описание API инструментов разработчика».
Обзор
Информация о сетевых запросах представлена в формате HTTP Archive ( HAR ). Описание HAR выходит за рамки данного документа; пожалуйста, обратитесь к спецификации HAR v1.2 .
Что касается HAR, метод chrome.devtools.network.getHAR() возвращает весь лог HAR , а событие chrome.devtools.network.onRequestFinished передает запись HAR в качестве аргумента в функцию обратного вызова события.
Обратите внимание, что содержимое запроса не предоставляется в составе HAR по соображениям эффективности. Вы можете вызвать метод getContent() объекта request для получения содержимого.
Если окно «Инструменты разработчика» открывается после загрузки страницы, некоторые запросы могут отсутствовать в массиве записей, возвращаемом функцией getHAR() . Перезагрузите страницу, чтобы получить все запросы. Как правило, список запросов, возвращаемый функцией getHAR() , должен совпадать со списком, отображаемым на панели «Сеть».
Примеры
Следующий код регистрирует URL-адреса всех изображений размером более 40 КБ по мере их загрузки:
chrome.devtools.network.onRequestFinished.addListener(
function(request) {
if (request.response.bodySize > 40*1024) {
chrome.devtools.inspectedWindow.eval(
'console.log("Large image: " + unescape("' +
escape(request.request.url) + '"))');
}
}
);
Чтобы опробовать этот API, установите примеры API из репозитория chrome-extension-samples .
Типы
Request
Представляет собой сетевой запрос к ресурсу документа (скрипту, изображению и т. д.). См. спецификацию HAR для получения дополнительной информации.
Характеристики
- получить контент
пустота
ОбещатьВозвращает содержимое тела ответа.
Функция
getContentвыглядит следующим образом:(callback?: function) => {...}
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:(response: object) => void
- ответ
объект
В ожиданииОбъект, содержащий тело ответа и его кодировку.
- содержание
нить
Содержание ответа (потенциально закодированное).
- кодирование
нить
Пусто, если содержимое не закодировано, в противном случае — название кодировки. В настоящее время поддерживается только base64.
- возвраты
Promise<object>
В ожиданииФункция, которая получает тело ответа после завершения запроса.
Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.
Методы
getHAR()
chrome.devtools.network.getHAR(
callback?: function,
): Promise<object>
Возвращает журнал HAR, содержащий все известные сетевые запросы.
Параметры
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:(harLog: object) => void
- harLog
объект
Журнал HAR. Подробности см. в спецификации HAR.
Возвраты
Promise<object>
В ожиданииФункция, которая получает журнал HAR после завершения запроса.
Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.
События
onNavigated
chrome.devtools.network.onNavigated.addListener(
callback: function,
)
Событие срабатывает, когда проверяемое окно переходит на новую страницу.
Параметры
функция
Параметр
callbackвыглядит следующим образом:(url: string) => void
нить
onRequestFinished
chrome.devtools.network.onRequestFinished.addListener(
callback: function,
)
Событие срабатывает, когда сетевой запрос завершен и все данные запроса доступны.