chrome.devtools.network

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

    Obietnica

    Zwraca treść odpowiedzi.

    Funkcja getContent wygląda tak:

    (callback?: function) => {...}

    • callback

      function opcjonalny

      Parametr callback wygląda tak:

      (response: object) => void

      • odpowiedź

        obiekt

        Chrome 151 lub nowsza

        Obiekt 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 nowsza

      Funkcja, 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()

Obietnica
chrome.devtools.network.getHAR(
  callback?: function,
)
: Promise<object>

Zwraca dziennik HAR zawierający wszystkie znane żądania sieciowe.

Parametry

  • callback

    function opcjonalny

    Parametr callback wygląda tak:

    (harLog: object) => void

    • harLog

      obiekt

      Dziennik HAR. Szczegółowe informacje znajdziesz w specyfikacji HAR.

Zwroty

  • Promise<object>

    Chrome 151 lub nowsza

    Funkcja, 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

  • callback

    funkcja

    Parametr callback wygląda tak:

    (url: string) => void

    • URL

      ciąg znaków

onRequestFinished

chrome.devtools.network.onRequestFinished.addListener(
  callback: function,
)

Uruchamiane po zakończeniu żądania sieciowego i udostępnieniu wszystkich danych żądania.

Parametry

  • callback

    funkcja

    Parametr callback wygląda tak:

    (request: Request) => void