devtools.network.onRequestFinished

Wird ausgelöst, wenn eine Netzwerkanforderung abgeschlossen ist und ihre Details der Erweiterung zur Verfügung stehen.

Die Anfrage wird als ein HAR-Eintrag-Objekt angegeben, welches auch eine asynchrone getContent()-Methode erhält, die den Inhalt des Antworttextes abruft.

Beachten Sie, dass obwohl Ihre Erweiterung jederzeit einen Listener hinzufügen kann, dieser nur ausgelöst wird, nachdem der Benutzer mindestens einmal das Netzwerk-Panel des Browsers aktiviert hat.

Syntax

js
browser.devtools.network.onRequestFinished.addListener(listener)
browser.devtools.network.onRequestFinished.removeListener(listener)
browser.devtools.network.onRequestFinished.hasListener(listener)

Ereignisse haben drei Funktionen:

addListener(listener)

Fügt diesem Ereignis einen Listener hinzu.

removeListener(listener)

Hört auf, auf dieses Ereignis zu hören. Das listener-Argument ist der zu entfernende Listener.

hasListener(listener)

Überprüft, ob listener für dieses Ereignis registriert ist. Gibt true zurück, wenn es zuhört, false andernfalls.

addListener-Syntax

Parameter

listener

Die Funktion, die aufgerufen wird, wenn dieses Ereignis eintritt. Der Funktion wird dieses Argument übergeben:

request

object. Ein Objekt, das die Anfrage repräsentiert. Dieses Objekt ist ein einzelnes HAR-Eintrag-Objekt. Es definiert auch eine asynchrone getContent()-Methode, die ein Promise zurückgibt, das sich mit einem Array aus zwei Elementen auflöst. Das erste Element ist der HTTP-Antwortinhalt als Zeichenkette, während das zweite Element der MIME-Typ der HTTP-Antwort ebenfalls als Zeichenkette ist.

Browser-Kompatibilität

BCD tables only load in the browser

Beispiele

Fügen Sie einen Listener hinzu, der die Server-IP-Adresse und den Antworttext für jede Netzwerkanforderung protokolliert.

js
function handleRequestFinished(request) {
  console.log("Server IP: ", request.serverIPAddress);
  request.getContent().then(([content, mimeType]) => {
    console.log("Content: ", content);
    console.log("MIME type: ", mimeType);
  });
}

browser.devtools.network.onRequestFinished.addListener(handleRequestFinished);

Hinweis: Diese API basiert auf Chromiums chrome.devtools API.