Opis
Użyj interfejsu chrome.devtools.network API, aby pobrać informacje o żądaniach sieciowych wyświetlane przez Narzędzia dla programistów w panelu Sieć.
Plik manifestu
Aby korzystać z tego interfejsu API, musisz zadeklarować te klucze w pliku manifestu.
"devtools_page"Ogólne wprowadzenie do korzystania z interfejsów API Narzędzi deweloperskich znajdziesz w podsumowaniu interfejsów API Narzędzi deweloperskich.
Przegląd
Informacje o żądaniach sieciowych są przedstawiane w formacie archiwum HTTP (HAR). Opis formatu HAR wykracza poza zakres tego dokumentu. Więcej informacji znajdziesz w specyfikacji HAR w wersji 1.2.
W przypadku HAR metoda chrome.devtools.network.getHAR() zwraca cały log HAR, a zdarzenie chrome.devtools.network.onRequestFinished przekazuje wpis HAR jako argument do wywołania zwrotnego zdarzenia.
Pamiętaj, że ze względu na wydajność treść żądania nie jest podawana w pliku HAR. Aby pobrać treści, możesz wywołać metodę getContent() żądania.
Jeśli okno narzędzi dla deweloperów zostanie otwarte po wczytaniu strony, w tablicy wpisów zwróconej przez getHAR() może brakować niektórych żądań. Aby uzyskać wszystkie żądania, ponownie załaduj stronę. Ogólnie lista żądań zwracana przez getHAR() powinna być zgodna z listą wyświetlaną w panelu Sieć.
Przykłady
Poniższy kod rejestruje adresy URL wszystkich obrazów o rozmiarze większym niż 40 KB podczas ich wczytywania:
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) + '"))');
}
}
);
Aby wypróbować ten interfejs API, zainstaluj przykłady interfejsu API narzędzi deweloperskich z repozytorium chrome-extension-samples.
Typy
Request
Reprezentuje żądanie sieciowe dotyczące zasobu dokumentu (skryptu, obrazu itp.). Informacje referencyjne znajdziesz w specyfikacji HAR.
Właściwości
-
getContent
pusty
ObietnicaZwraca treść odpowiedzi.
Funkcja
getContentwygląda tak:(callback?: function) => {...}
-
callback
function opcjonalny
Parametr
callbackwygląda tak:(response: object) => void
-
odpowiedź
obiekt
Chrome 151 lub nowszaObiekt zawierający treść odpowiedzi i jej kodowanie.
-
treść
ciąg znaków
Treść odpowiedzi (potencjalnie zakodowana).
-
kodowanie,
ciąg znaków
Puste, jeśli treść nie jest zakodowana, w przeciwnym razie nazwa kodowania. Obecnie obsługiwane jest tylko kodowanie base64.
-
-
-
returns
Promise<object>
Chrome 151 lub nowszaFunkcja, która po zakończeniu żądania otrzymuje treść odpowiedzi.
Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
-
Metody
getHAR()
chrome.devtools.network.getHAR(
callback?: function,
): Promise<object>
Zwraca dziennik HAR zawierający wszystkie znane żądania sieciowe.
Parametry
-
callback
function opcjonalny
Parametr
callbackwygląda tak:(harLog: object) => void
-
harLog
obiekt
Dziennik HAR. Szczegółowe informacje znajdziesz w specyfikacji HAR.
-
Zwroty
-
Promise<object>
Chrome 151 lub nowszaFunkcja, która otrzymuje dziennik HAR po zakończeniu żądania.
Obietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
Wydarzenia
onNavigated
chrome.devtools.network.onNavigated.addListener(
callback: function,
)
Wywoływane, gdy sprawdzane okno przechodzi na nową stronę.
Parametry
-
funkcja
Parametr
callbackwygląda tak:(url: string) => void
-
ciąg znaków
-
onRequestFinished
chrome.devtools.network.onRequestFinished.addListener(
callback: function,
)
Uruchamiane po zakończeniu żądania sieciowego i udostępnieniu wszystkich danych żądania.