chrome.webRequest

refresh date: 2026-09-25 robots: noindex

Beschreibung

Mit der chrome.webRequest API können Sie Traffic beobachten und analysieren sowie Anfragen während der Übertragung abfangen, blockieren oder ändern.

Berechtigungen

webRequest

Manifest

Sie müssen die Berechtigung "webRequest" im Erweiterungsmanifest deklarieren, um die Webanfrage API zusammen mit den erforderlichen Hostberechtigungen zu verwenden. Um eine Anfrage für eine Unterressource abzufangen, muss die Erweiterung sowohl auf die angeforderte URL als auch auf den Initiator zugreifen können. Beispiel:

{
  "name": "My extension",
  ...
  "permissions": [
    "webRequest"
  ],
  "host_permissions": [
    "*://*.google.com/*"
  ],
  ...
}

Ab Chrome 108 können Sie Anmeldedaten für onAuthRequired-Ereignisse asynchron bereitstellen, wenn Sie die Berechtigungen "webRequest" und "webRequestAuthProvider" verwenden.

Lebenszyklus von Anfragen

Die Web Request API definiert eine Reihe von Ereignissen, die dem Lebenszyklus einer Webanfrage folgen. Sie können diese Ereignisse verwenden, um den Traffic zu beobachten und zu analysieren. Bei bestimmten synchronen Ereignissen können Sie eine Anfrage abfangen, blockieren oder ändern.

Hier sehen Sie den Ereignislebenszyklus für erfolgreiche Anfragen, gefolgt von Ereignisdefinitionen:

Lebenszyklus einer Webanfrage aus Sicht der webrequest API

onBeforeRequest (optional synchron)
Wird ausgelöst, wenn eine Anfrage bevorsteht. Dieses Ereignis wird gesendet, bevor eine TCP-Verbindung hergestellt wird, und kann verwendet werden, um Anfragen abzubrechen oder weiterzuleiten.
onBeforeSendHeaders (optional synchron)
Wird ausgelöst, wenn eine Anfrage bevorsteht und die ersten Header vorbereitet wurden. Das Ereignis soll es Erweiterungen ermöglichen, Anfrageheader hinzuzufügen, zu ändern und zu löschen (*). Das Ereignis onBeforeSendHeaders wird an alle Abonnenten übergeben, sodass verschiedene Abonnenten versuchen können, die Anfrage zu ändern. Weitere Informationen dazu finden Sie im Abschnitt Implementierungsdetails. Mit diesem Ereignis kann die Anfrage abgebrochen werden.
onSendHeaders
Wird ausgelöst, nachdem alle Erweiterungen die Möglichkeit hatten, die Anfrageheader zu ändern, und zeigt die endgültige Version (*) an. Das Ereignis wird ausgelöst, bevor die Header an das Netzwerk gesendet werden. Dieses Ereignis dient nur zur Information und wird asynchron verarbeitet. Die Anfrage kann nicht geändert oder storniert werden.
onHeadersReceived (optional synchron)
Wird jedes Mal ausgelöst, wenn ein HTTP(S)-Antwortheader empfangen wird. Aufgrund von Weiterleitungen und Authentifizierungsanfragen kann dies mehrmals pro Anfrage passieren. Dieses Ereignis soll es Erweiterungen ermöglichen, Antwortheader wie eingehende Content-Type-Header hinzuzufügen, zu ändern und zu löschen. Die Caching-Anweisungen werden verarbeitet, bevor dieses Ereignis ausgelöst wird. Das Ändern von Headern wie „Cache-Control“ hat also keinen Einfluss auf den Cache des Browsers. Außerdem können Sie die Anfrage abbrechen oder umleiten.
onAuthRequired (optional synchron)
Wird ausgelöst, wenn für eine Anfrage eine Authentifizierung des Nutzers erforderlich ist. Dieses Ereignis kann synchron verarbeitet werden, um Authentifizierungsdaten bereitzustellen. Beachten Sie, dass Erweiterungen ungültige Anmeldedaten bereitstellen können. Achten Sie darauf, dass Sie nicht in eine Endlosschleife geraten, indem Sie wiederholt ungültige Anmeldedaten angeben. Damit kann die Anfrage auch abgebrochen werden.
onBeforeRedirect
Wird ausgelöst, wenn eine Weiterleitung ausgeführt werden soll. Eine Weiterleitung kann durch einen HTTP-Antwortcode oder eine Erweiterung ausgelöst werden. Dieses Ereignis dient nur zur Information und wird asynchron verarbeitet. Sie können die Anfrage nicht ändern oder abbrechen.
onResponseStarted
Wird ausgelöst, wenn das erste Byte des Antworttexts empfangen wird. Bei HTTP-Anfragen bedeutet dies, dass die Statuszeile und die Antwortheader verfügbar sind. Dieses Ereignis dient nur zur Information und wird asynchron verarbeitet. Die Anfrage kann nicht geändert oder storniert werden.
onCompleted
Wird ausgelöst, wenn eine Anfrage erfolgreich verarbeitet wurde.
onErrorOccurred
Wird ausgelöst, wenn eine Anfrage nicht erfolgreich verarbeitet werden konnte.

Die Web Request API garantiert, dass für jede Anfrage entweder onCompleted oder onErrorOccurred als letztes Ereignis ausgelöst wird. Es gibt jedoch eine Ausnahme: Wenn eine Anfrage an eine data://-URL weitergeleitet wird, ist onBeforeRedirect das letzte gemeldete Ereignis.

* Beachten Sie, dass die Webanfrage-API der Erweiterung eine Abstraktion des Netzwerkstacks zur Verfügung stellt. Intern kann eine URL-Anfrage in mehrere HTTP-Anfragen aufgeteilt werden (z. B. um einzelne Bytebereiche aus einer großen Datei abzurufen) oder vom Netzwerkstack verarbeitet werden, ohne mit dem Netzwerk zu kommunizieren. Aus diesem Grund stellt die API nicht die endgültigen HTTP-Header bereit, die an das Netzwerk gesendet werden. Beispielsweise sind alle Header, die sich auf das Caching beziehen, für die Erweiterung unsichtbar.

Die folgenden Header werden derzeit nicht für das onBeforeSendHeaders-Ereignis bereitgestellt. Diese Liste ist nicht unbedingt vollständig oder stabil.

  • Autorisierung
  • Cache-Control
  • Verbindung
  • Content-Length
  • Host
  • If-Modified-Since
  • If-None-Match
  • If-Range
  • Partial-Data
  • Pragma
  • Proxy-Authorization
  • Proxy-Connection
  • Transfer-Encoding

Ab Chrome 79 wirken sich Änderungen an Anfrageheadern auf CORS-Prüfungen (Cross-Origin Resource Sharing) aus. Wenn geänderte Header für ursprungsübergreifende Anfragen die Kriterien nicht erfüllen, wird ein CORS-Preflight gesendet, um den Server zu fragen, ob solche Header akzeptiert werden können. Wenn Sie Header so ändern müssen, dass das CORS-Protokoll verletzt wird, müssen Sie 'extraHeaders' in opt_extraInfoSpec angeben. Änderungen an Antwortheadern funktionieren dagegen nicht, um CORS-Prüfungen zu umgehen. Wenn Sie das CORS-Protokoll täuschen müssen, müssen Sie auch 'extraHeaders' für die Antwortänderungen angeben.

Ab Chrome 79 fängt die webRequest API standardmäßig keine CORS-Preflight-Anfragen und -Antworten ab. Ein CORS-Preflight für eine Anfrage-URL ist für eine Erweiterung sichtbar, wenn ein Listener mit 'extraHeaders' in opt_extraInfoSpec für die Anfrage-URL angegeben ist. onBeforeRequest kann auch 'extraHeaders' aus Chrome 79 übernehmen.

Ab Chrome 79 wird der folgende Anfrageheader nicht bereitgestellt und kann nicht geändert oder entfernt werden, ohne 'extraHeaders' in opt_extraInfoSpec anzugeben:

  • Ursprung

Wenn Sie ab Chrome 72 Antworten ändern müssen, bevor sie durch Cross-Origin Read Blocking (CORB) blockiert werden, müssen Sie 'extraHeaders' in opt_extraInfoSpec angeben.

Ab Chrome 72 werden die folgenden Anfrageheader nicht bereitgestellt und können nicht geändert oder entfernt werden, ohne 'extraHeaders' in opt_extraInfoSpec anzugeben:

  • Accept-Language
  • Accept-Encoding
  • Referer
  • Cookie

Ab Chrome 72 wird der Antwortheader Set-Cookie nicht bereitgestellt und kann nicht geändert oder entfernt werden, ohne 'extraHeaders' in opt_extraInfoSpec anzugeben.

Ab Chrome 89 kann der Antwortheader X-Frame-Options nicht mehr effektiv geändert oder entfernt werden, ohne 'extraHeaders' in opt_extraInfoSpec anzugeben.

Die webRequest API zeigt nur Anfragen an, die die Erweiterung aufgrund ihrer Hostberechtigungen sehen darf. Außerdem sind nur die folgenden Schemas zugänglich: http://, https://, ftp://, file://, ws:// (seit Chrome 58), wss:// (seit Chrome 58), urn: (seit Chrome 91) oder chrome-extension://. Außerdem werden bestimmte Anfragen mit URLs, die eines der oben genannten Schemas verwenden, ausgeblendet. Dazu gehören chrome-extension://other_extension_id, wobei other_extension_id nicht die ID der Erweiterung ist, die die Anfrage verarbeiten soll, https://www.google.com/chrome und andere vertrauliche Anfragen, die für die Browserfunktionalität wichtig sind. Außerdem werden synchrone XMLHttpRequests von Ihrer Erweiterung vor blockierenden Event-Handlern verborgen, um Deadlocks zu verhindern. Beachten Sie, dass bei einigen der unterstützten Schemas die verfügbaren Ereignisse aufgrund der Art des entsprechenden Protokolls eingeschränkt sein können. Beispiel: Für das Schema „file:“ dürfen nur onBeforeRequest, onResponseStarted, onCompleted und onErrorOccurred gesendet werden.

Ab Chrome 58 unterstützt die webRequest API das Abfangen der WebSocket-Handshake-Anfrage. Da der Handshake über eine HTTP-Upgrade-Anfrage erfolgt, passt der Ablauf in das HTTP-orientierte webRequest-Modell. Beachten Sie, dass die API Folgendes nicht abfängt:

  • Einzelne Nachrichten, die über eine hergestellte WebSocket-Verbindung gesendet werden.
  • WebSocket-Verbindung wird geschlossen.

Weiterleitungen werden für WebSocket-Anfragen nicht unterstützt.

Ab Chrome 72 kann eine Erweiterung eine Anfrage nur dann abfangen, wenn sie Hostberechtigungen sowohl für die angeforderte URL als auch für den Initiator der Anfrage hat.

Ab Chrome 96 unterstützt die webRequest API das Abfangen der WebTransport-über-HTTP/3-Handshake-Anfrage. Da der Handshake über eine HTTP-CONNECT-Anfrage erfolgt, passt der Ablauf in das HTTP-orientierte webRequest-Modell. Hinweis:

  • Sobald die Sitzung eingerichtet ist, können Erweiterungen die Sitzung nicht mehr über die webRequest API beobachten oder darin eingreifen.
  • Das Ändern von HTTP-Anfrageheadern in onBeforeSendHeaders wird ignoriert.
  • Weiterleitungen und Authentifizierungen werden in WebTransport über HTTP/3 nicht unterstützt.

Konzepte

Wie in den folgenden Abschnitten erläutert, werden für Ereignisse in der Web Request API Anfrage-IDs verwendet. Optional können Sie beim Registrieren von Ereignis-Listenern Filter und zusätzliche Informationen angeben.

Anfrage-IDs

Jede Anfrage wird durch eine Anfrage-ID identifiziert. Diese ID ist innerhalb einer Browsersitzung und im Kontext einer Erweiterung eindeutig. Sie bleibt während des Lebenszyklus einer Anfrage konstant und kann verwendet werden, um Ereignisse für dieselbe Anfrage abzugleichen. Beachten Sie, dass bei HTTP-Weiterleitung oder HTTP-Authentifizierung mehrere HTTP-Anfragen einer Webanfrage zugeordnet werden.

Event-Listener registrieren

Wenn Sie einen Event-Listener für eine Webanfrage registrieren möchten, verwenden Sie eine Variante der üblichen addListener()-Funktion. Zusätzlich zur Angabe einer Callback-Funktion müssen Sie ein Filterargument angeben. Optional können Sie ein Argument für zusätzliche Informationen angeben.

Die drei Argumente für addListener() der Webanfrage-API haben die folgenden Definitionen:

var callback = function(details) {...};
var filter = {...};
var opt_extraInfoSpec = [...];

Hier ist ein Beispiel für das Abhören des Ereignisses onBeforeRequest:

chrome.webRequest.onBeforeRequest.addListener(
    callback, filter, opt_extraInfoSpec);

Bei jedem addListener()-Aufruf ist eine Callback-Funktion als erster Parameter erforderlich. An diese Callback-Funktion wird ein Dictionary mit Informationen zur aktuellen URL-Anfrage übergeben. Die Informationen in diesem Wörterbuch hängen vom jeweiligen Ereignistyp und vom Inhalt von opt_extraInfoSpec ab.

Wenn das optionale opt_extraInfoSpec-Array den String 'blocking' enthält (nur für bestimmte Ereignisse zulässig), wird die Callback-Funktion synchron verarbeitet. Das bedeutet, dass die Anfrage blockiert wird, bis die Callback-Funktion zurückgegeben wird. In diesem Fall kann der Callback ein webRequest.BlockingResponse zurückgeben, das den weiteren Lebenszyklus der Anfrage bestimmt. Je nach Kontext ermöglicht diese Antwort das Abbrechen oder Weiterleiten einer Anfrage (onBeforeRequest), das Abbrechen einer Anfrage oder das Ändern von Headern (onBeforeSendHeaders, onHeadersReceived) sowie das Abbrechen einer Anfrage oder das Bereitstellen von Authentifizierungsdaten (onAuthRequired).

Wenn das optionale Array opt_extraInfoSpec stattdessen den String 'asyncBlocking' enthält (nur für onAuthRequired zulässig), kann die Erweiterung die webRequest.BlockingResponse asynchron generieren.

Mit dem webRequest.RequestFilter filter können Sie die Anfragen, für die Ereignisse ausgelöst werden, in verschiedenen Dimensionen einschränken:

URLs
URL-Muster wie *://www.google.com/foo*bar.
Typen
Anfragetypen wie main_frame (ein Dokument, das für einen Top-Level-Frame geladen wird), sub_frame (ein Dokument, das für einen eingebetteten Frame geladen wird) und image (ein Bild auf einer Website). Siehe webRequest.RequestFilter.
Tab ID
Die Kennung für einen Tab.
Fenster-ID
Die Kennung für ein Fenster.

Je nach Ereignistyp können Sie Strings in opt_extraInfoSpec angeben, um zusätzliche Informationen zur Anfrage anzufordern. Damit werden detaillierte Informationen zu den Daten der Anfrage nur dann bereitgestellt, wenn dies explizit angefordert wird.

Implementierungsdetails

Bei der Entwicklung einer Erweiterung, die die Web Request API verwendet, können mehrere Implementierungsdetails wichtig sein:

web_accessible_resources

Wenn eine Erweiterung webRequest APIs verwendet, um eine öffentliche Ressourcenanfrage an eine Ressource weiterzuleiten, die nicht über das Web zugänglich ist, wird sie blockiert und es wird ein Fehler ausgegeben. Das gilt auch dann, wenn die Ressource, die nicht über das Web zugänglich ist, der weiterleitenden Erweiterung gehört. Wenn Sie Ressourcen für die Verwendung mit declarativeWebRequest APIs deklarieren möchten, muss das Array "web_accessible_resources" im Manifest deklariert und ausgefüllt werden, wie hier beschrieben.

Konfliktlösung

In der aktuellen Implementierung der Web Request API gilt eine Anfrage als abgebrochen, wenn mindestens eine Erweiterung den Abbruch der Anfrage anweist. Wenn eine Erweiterung eine Anfrage abbricht, werden alle Erweiterungen durch ein onErrorOccurred-Ereignis benachrichtigt. Es kann jeweils nur eine Erweiterung eine Anfrage weiterleiten oder einen Header ändern. Wenn mehrere Erweiterungen versuchen, die Anfrage zu ändern, wird die zuletzt installierte Erweiterung verwendet und alle anderen werden ignoriert. Eine Erweiterung wird nicht benachrichtigt, wenn ihre Anweisung zum Ändern oder Weiterleiten ignoriert wurde.

Caching

Chrome verwendet zwei Caches: einen Datenträger-Cache und einen sehr schnellen Speicher-Cache. Die Lebensdauer eines In-Memory-Caches ist an die Lebensdauer eines Rendering-Prozesses gebunden, der in etwa einem Tab entspricht. Anfragen, die aus dem Arbeitsspeicher-Cache beantwortet werden, sind für die Web Request API nicht sichtbar. Wenn ein Anfrage-Handler sein Verhalten ändert (z. B. das Verhalten, nach dem Anfragen blockiert werden), wird dieses geänderte Verhalten möglicherweise nicht durch eine einfache Seitenaktualisierung berücksichtigt. Damit die Verhaltensänderung wirksam wird, rufen Sie handlerBehaviorChanged() auf, um den Speicher-Cache zu leeren. Tun Sie dies jedoch nicht zu oft, da das Leeren des Caches ein sehr aufwendiger Vorgang ist. Sie müssen handlerBehaviorChanged() nicht aufrufen, nachdem Sie einen Ereignis-Listener registriert oder die Registrierung aufgehoben haben.

Zeitstempel

Die Property timestamp von Webanfrageereignissen ist nur intern konsistent. Wenn Sie ein Ereignis mit einem anderen vergleichen, erhalten Sie den korrekten Versatz zwischen ihnen. Wenn Sie sie jedoch mit der aktuellen Zeit innerhalb der Erweiterung vergleichen (z. B. über (new Date()).getTime()), kann dies zu unerwarteten Ergebnissen führen.

Fehlerbehandlung

Wenn Sie versuchen, ein Ereignis mit ungültigen Argumenten zu registrieren, wird ein JavaScript-Fehler ausgegeben und der Event-Handler wird nicht registriert. Wenn beim Verarbeiten eines Ereignisses ein Fehler auftritt oder ein Ereignis-Handler eine ungültige blockierende Antwort zurückgibt, wird eine Fehlermeldung in der Konsole Ihrer Erweiterung protokolliert und der Handler wird für diese Anfrage ignoriert.

Beispiele

Im folgenden Beispiel wird gezeigt, wie alle Anfragen an www.evil.com blockiert werden:

chrome.webRequest.onBeforeRequest.addListener(
  function(details) {
    return {cancel: details.url.indexOf("://www.evil.com/") != -1};
  },
  {urls: ["<all_urls>"]},
  ["blocking"]
);

Da diese Funktion einen blockierenden Event-Handler verwendet, sind in der Manifestdatei die Berechtigungen "webRequest" und "webRequestBlocking" erforderlich.

Im folgenden Beispiel wird dasselbe Ziel auf effizientere Weise erreicht, da Anfragen, die nicht auf www.evil.com ausgerichtet sind, nicht an die Erweiterung übergeben werden müssen:

chrome.webRequest.onBeforeRequest.addListener(
  function(details) { return {cancel: true}; },
  {urls: ["*://www.evil.com/*"]},
  ["blocking"]
);

Im folgenden Beispiel wird gezeigt, wie der User-Agent-Header aus allen Anfragen gelöscht wird:

chrome.webRequest.onBeforeSendHeaders.addListener(
  function(details) {
    for (var i = 0; i < details.requestHeaders.length; ++i) {
      if (details.requestHeaders[i].name === 'User-Agent') {
        details.requestHeaders.splice(i, 1);
        break;
      }
    }
    return {requestHeaders: details.requestHeaders};
  },
  {urls: ["<all_urls>"]},
  ["blocking", "requestHeaders"]
);

Wenn Sie die chrome.webRequest API ausprobieren möchten, installieren Sie das webRequest-Beispiel aus dem Repository chrome-extension-samples.

Typen

BlockingResponse

Gibt den Wert für Event-Handler zurück, auf die die „blocking“-extraInfoSpec angewendet wurde. Ermöglicht dem Event-Handler, Netzwerkanfragen zu ändern.

Attribute

  • authCredentials

    Objekt optional

    Wird nur als Antwort auf das Ereignis „onAuthRequired“ verwendet. Falls festgelegt, wird die Anfrage mit den angegebenen Anmeldedaten gestellt.

    • Passwort

      String

    • Nutzername

      String

  • Abbrechen

    Boolesch optional

    Wenn „true“, wird die Anfrage abgebrochen. Dadurch wird verhindert, dass die Anfrage gesendet wird. Dies kann als Antwort auf die Ereignisse „onBeforeRequest“, „onBeforeSendHeaders“, „onHeadersReceived“ und „onAuthRequired“ verwendet werden.

  • redirectUrl

    String optional

    Wird nur als Antwort auf die Ereignisse „onBeforeRequest“ und „onHeadersReceived“ verwendet. Wenn diese Option festgelegt ist, wird die ursprüngliche Anfrage nicht gesendet/abgeschlossen, sondern an die angegebene URL weitergeleitet. Weiterleitungen zu Nicht-HTTP-Schemas wie data: sind zulässig. Bei Weiterleitungen, die durch eine Weiterleitungsaktion initiiert werden, wird die ursprüngliche Anfragemethode für die Weiterleitung verwendet. Es gibt jedoch eine Ausnahme: Wenn die Weiterleitung in der Phase „onHeadersReceived“ initiiert wird, wird die Weiterleitung mit der GET-Methode ausgegeben. Weiterleitungen von URLs mit den Schemas ws:// und wss:// werden ignoriert.

  • requestHeaders

    HttpHeaders optional

    Wird nur als Antwort auf das onBeforeSendHeaders-Ereignis verwendet. Wenn diese Option festgelegt ist, wird die Anfrage stattdessen mit diesen Anfrageheadern gestellt.

  • responseHeaders

    HttpHeaders optional

    Wird nur als Antwort auf das „onHeadersReceived“-Ereignis verwendet. Wenn diese Option festgelegt ist, wird davon ausgegangen, dass der Server stattdessen mit diesen Antwortheadern geantwortet hat. Gib responseHeaders nur zurück, wenn du die Header wirklich ändern möchtest, um die Anzahl der Konflikte zu begrenzen (nur eine Erweiterung darf responseHeaders für jede Anfrage ändern).

FormDataItem

Chrome 66 oder höher

Enthält Daten, die in Formulardaten übergeben werden. Bei urlencoded-Formularen werden die Daten als String gespeichert, wenn es sich um einen UTF-8-String handelt, andernfalls als ArrayBuffer. Für Formulardaten ist es ArrayBuffer. Wenn „form-data“ eine hochgeladene Datei darstellt, ist es ein String mit dem Dateinamen, sofern der Dateiname angegeben ist.

Enum

ArrayBuffer

String

HttpHeaders

Ein Array von HTTP-Headern. Jeder Header wird als Wörterbuch mit den Schlüsseln name und entweder value oder binaryValue dargestellt.

Typ

object[]

Attribute

  • binaryValue

    number[] optional

    Wert des HTTP-Headers, wenn er nicht durch UTF-8 dargestellt werden kann, gespeichert als einzelne Bytewerte (0..255).

  • name

    String

    Name des HTTP-Headers.

  • Wert

    String optional

    Wert des HTTP-Headers, wenn er durch UTF-8 dargestellt werden kann.

IgnoredActionType

Chrome 70 oder höher

Enum

"redirect"

"request_headers"

"response_headers"

"auth_credentials"

OnAuthRequiredOptions

Chrome 44 oder höher

Enum

"responseHeaders"
Gibt an, dass die Antwortheader im Ereignis enthalten sein sollen.

"blocking"
Gibt an, dass die Anfrage blockiert wird, bis die Callback-Funktion zurückgegeben wird.

"asyncBlocking"
Gibt an, dass die Callback-Funktion asynchron verarbeitet wird.

"extraHeaders"
Gibt an, dass Header gegen Cross-Origin Resource Sharing (CORS) verstoßen können.

OnBeforeRedirectOptions

Chrome 44 oder höher

Enum

"responseHeaders"
Gibt an, dass die Antwortheader im Ereignis enthalten sein sollen.

"extraHeaders"
Gibt an, dass Header gegen Cross-Origin Resource Sharing (CORS) verstoßen können.

OnBeforeRequestOptions

Chrome 44 oder höher

Enum

"blocking"
Gibt an, dass die Anfrage blockiert wird, bis die Callback-Funktion zurückgegeben wird.

"requestBody"
Gibt an, dass der Anfragetext im Ereignis enthalten sein soll.

"extraHeaders"
Gibt an, dass Header gegen Cross-Origin Resource Sharing (CORS) verstoßen können.

OnBeforeSendHeadersOptions

Chrome 44 oder höher

Enum

"requestHeaders"
Gibt an, dass der Anfrageheader im Ereignis enthalten sein soll.

"blocking"
Gibt an, dass die Anfrage blockiert wird, bis die Callback-Funktion zurückgegeben wird.

"extraHeaders"
Gibt an, dass Header gegen Cross-Origin Resource Sharing (CORS) verstoßen können.

OnCompletedOptions

Chrome 44 oder höher

Enum

"responseHeaders"
Gibt an, dass die Antwortheader im Ereignis enthalten sein sollen.

"extraHeaders"
Gibt an, dass Header gegen Cross-Origin Resource Sharing (CORS) verstoßen können.

OnErrorOccurredOptions

Chrome 79 oder höher

Wert

"extraHeaders"

OnHeadersReceivedOptions

Chrome 44 oder höher

Enum

"blocking"
Gibt an, dass die Anfrage blockiert wird, bis die Callback-Funktion zurückgegeben wird.

"responseHeaders"
Gibt an, dass die Antwortheader im Ereignis enthalten sein sollen.

"extraHeaders"
Gibt an, dass Header gegen Cross-Origin Resource Sharing (CORS) verstoßen können.

"securityInfo"
Gibt an, dass die SecurityInfo im Ereignis enthalten sein soll.

"securityInfoRawDer"
Gibt an, dass die SecurityInfo mit Rohbytes von Zertifikaten im Ereignis enthalten sein soll.

OnResponseStartedOptions

Chrome 44 oder höher

Enum

"responseHeaders"
Gibt an, dass die Antwortheader im Ereignis enthalten sein sollen.

"extraHeaders"
Gibt an, dass Header gegen Cross-Origin Resource Sharing (CORS) verstoßen können.

OnSendHeadersOptions

Chrome 44 oder höher

Enum

"requestHeaders"
Gibt an, dass der Anfrageheader im Ereignis enthalten sein soll.

"extraHeaders"
Gibt an, dass Header gegen Cross-Origin Resource Sharing (CORS) verstoßen können.

RequestFilter

Ein Objekt, das Filter beschreibt, die auf webRequest-Ereignisse angewendet werden sollen.

Attribute

  • tabId

    number optional

  • Typen

    ResourceType[] optional

    Eine Liste der Anfragetypen. Anfragen, die keinem der Typen entsprechen, werden herausgefiltert.

  • URLs

    String[]

    Eine Liste von URLs oder URL-Mustern. Anfragen, die mit keiner der URLs übereinstimmen, werden herausgefiltert.

  • windowId

    number optional

ResourceType

Chrome 44 oder höher

Enum

"main_frame"
Gibt die Ressource als Hauptframe an.

"sub_frame"
Gibt die Ressource als Unterframe an.

"stylesheet"
Gibt die Ressource als Stylesheet an.

"script"
Gibt die Ressource als Script an.

"image"
Gibt die Ressource als Bild an.

"font"
Gibt die Ressource als Schriftart an.

"object"
Gibt die Ressource als Objekt an.

"xmlhttprequest"
Gibt die Ressource als XMLHttpRequest an.

"ping"
Gibt die Ressource als Ping an.

"csp_report"
Gibt die Ressource als Content Security Policy (CSP)-Bericht an.

"media"
Gibt die Ressource als Medienobjekt an.

"websocket"
Gibt die Ressource als WebSocket an.

"webbundle"
Gibt die Ressource als WebBundle an.

"other"
Gibt die Ressource als einen Typ an, der nicht in den aufgeführten Typen enthalten ist.

SecurityInfo

Chrome 144+

Attribute

  • Zertifikate

    object[]

    Eine Liste mit Zertifikaten

    • fingerprint

      Objekt

      Fingerabdrücke des Zertifikats.

      • sha256

        String

        SHA-256-Fingerabdruck des Zertifikats.

    • rawDER

      ArrayBuffer optional

      Roh-Byte des DER-codierten Serverzertifikats

  • Bundesstaat

    String

    Status der Verbindung. Einer der Werte „secure“, „insecure“ oder „broken“.

UploadData

Enthält Daten, die in einer URL-Anfrage hochgeladen wurden.

Attribute

  • Byte

    any optional

    Ein ArrayBuffer mit einer Kopie der Daten.

  • Datei

    String optional

    Ein String mit dem Pfad und dem Namen der Datei.

Attribute

MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES

Die maximale Anzahl von Aufrufen von handlerBehaviorChanged pro 10-minütigem Intervall. handlerBehaviorChanged ist ein rechenintensiver Funktionsaufruf, der nicht oft aufgerufen werden sollte.

Wert

20

Methoden

handlerBehaviorChanged()

Promise
chrome.webRequest.handlerBehaviorChanged(
  callback?: function,
)
: Promise<void>

Muss aufgerufen werden, wenn sich das Verhalten der webRequest-Handler geändert hat, um eine fehlerhafte Verarbeitung aufgrund von Caching zu verhindern. Dieser Funktionsaufruf ist teuer. Rufen Sie sie nicht oft auf.

Parameter

  • callback

    function optional

    Der Parameter callback sieht so aus:

    () => void

Ausgabe

  • Promise<void>

    Chrome 116 oder höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

Ereignisse

onActionIgnored

Chrome 70 oder höher
chrome.webRequest.onActionIgnored.addListener(
  callback: function,
)

Wird ausgelöst, wenn die von einer Erweiterung vorgeschlagene Änderung an einer Netzwerkanfrage ignoriert wird. Dies geschieht bei Konflikten mit anderen Erweiterungen.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (details: object) => void

    • Details

      Objekt

      • Die vorgeschlagene Aktion, die ignoriert wurde.

      • requestId

        String

        Die ID der Anfrage. Anfrage-IDs sind innerhalb einer Browsersitzung eindeutig. Daher können sie verwendet werden, um verschiedene Ereignisse derselben Anfrage miteinander in Beziehung zu setzen.

onAuthRequired

chrome.webRequest.onAuthRequired.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnAuthRequiredOptions[],
)

Wird ausgelöst, wenn ein Authentifizierungsfehler empfangen wird. Der Listener hat drei Optionen: Er kann Authentifizierungsdaten bereitstellen, die Anfrage abbrechen und die Fehlerseite anzeigen oder keine Aktion für die Aufforderung ausführen. Wenn ungültige Nutzeranmeldedaten angegeben werden, kann dies für dieselbe Anfrage mehrmals aufgerufen werden. Hinweis: Im Parameter extraInfoSpec darf nur einer der Modi 'blocking' oder 'asyncBlocking' angegeben werden.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (details: object, asyncCallback?: function) => BlockingResponse | undefined

    • Details

      Objekt

      • challenger

        Objekt

        Der Server, der die Authentifizierung anfordert.

        • Host

          String

        • Port

          Zahl

      • documentId

        String optional

        Chrome 106 oder höher

        Die UUID des Dokuments, das die Anfrage stellt.

      • Chrome 106 oder höher

        Der Lebenszyklus, in dem sich das Dokument befindet.

      • frameId

        Zahl

        Der Wert 0 gibt an, dass die Anfrage im Hauptframe erfolgt. Ein positiver Wert gibt die ID eines Unterframes an, in dem die Anfrage erfolgt. Wenn das Dokument eines (Unter-)Frames geladen wird (type ist main_frame oder sub_frame), gibt frameId die ID dieses Frames an, nicht die ID des äußeren Frames. Frame-IDs sind innerhalb eines Tabs eindeutig.

      • Chrome 106 oder höher

        Der Typ des Frames, in dem die Anfrage aufgetreten ist.

      • initiator

        String optional

        Chrome 63 oder höher

        Der Ursprung, von dem die Anfrage initiiert wurde. Dies ändert sich auch durch Weiterleitungen nicht. Wenn es sich um einen intransparenten Ursprung handelt, wird der String „null“ verwendet.

      • isProxy

        boolean

        „True“ für Proxy-Authenticate, „false“ für WWW-Authenticate.

      • method

        String

        Standard-HTTP-Methode.

      • parentDocumentId

        String optional

        Chrome 106 oder höher

        Die UUID des übergeordneten Dokuments, zu dem dieser Frame gehört. Dieses Feld wird nicht festgelegt, wenn es kein übergeordnetes Element gibt.

      • parentFrameId

        Zahl

        ID des Frames, der den Frame umschließt, von dem die Anfrage gesendet wurde. Wird auf -1 gesetzt, wenn kein übergeordneter Frame vorhanden ist.

      • Bereich

        String optional

        Der vom Server bereitgestellte Authentifizierungsbereich, falls vorhanden.

      • requestId

        String

        Die ID der Anfrage. Anfrage-IDs sind innerhalb einer Browsersitzung eindeutig. Daher können sie verwendet werden, um verschiedene Ereignisse derselben Anfrage miteinander in Beziehung zu setzen.

      • responseHeaders

        HttpHeaders optional

        Die HTTP-Antwortheader, die zusammen mit dieser Antwort empfangen wurden.

      • Schema

        String

        Das Authentifizierungsschema, z.B. „Basic“ oder „Digest“.

      • statusCode

        Zahl

        Chrome 43 oder höher

        Vom Server zurückgegebener Standard-HTTP-Statuscode.

      • statusLine

        String

        HTTP-Statuszeile der Antwort oder der String „HTTP/0.9 200 OK“ für HTTP/0.9-Antworten (d.h. Antworten ohne Statuszeile) oder ein leerer String, wenn keine Header vorhanden sind.

      • tabId

        Zahl

        Die ID des Tabs, in dem die Anfrage erfolgt. Wird auf -1 gesetzt, wenn die Anfrage nicht mit einem Tab zusammenhängt.

      • timeStamp

        Zahl

        Der Zeitpunkt, zu dem dieses Signal ausgelöst wird, in Millisekunden seit der Epoche.

      • Wie die angeforderte Ressource verwendet wird.

      • URL

        String

    • asyncCallback

      function optional

      Chrome 58 oder höher

      Der Parameter asyncCallback sieht so aus:

      (response: BlockingResponse) => void

    • Gibt zurück

      BlockingResponse | undefined

      Wenn im Parameter „extraInfoSpec“ der Wert „blocking“ angegeben ist, sollte der Ereignis-Listener ein Objekt dieses Typs zurückgeben.

  • Filter
  • extraInfoSpec

onBeforeRedirect

chrome.webRequest.onBeforeRedirect.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnBeforeRedirectOptions[],
)

Wird ausgelöst, wenn eine vom Server initiierte Weiterleitung bevorsteht.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (details: object) => void

    • Details

      Objekt

      • documentId

        String optional

        Chrome 106 oder höher

        Die UUID des Dokuments, das die Anfrage stellt.

      • Chrome 106 oder höher

        Der Lebenszyklus, in dem sich das Dokument befindet.

      • frameId

        Zahl

        Der Wert 0 gibt an, dass die Anfrage im Hauptframe erfolgt. Ein positiver Wert gibt die ID eines Unterframes an, in dem die Anfrage erfolgt. Wenn das Dokument eines (Unter-)Frames geladen wird (type ist main_frame oder sub_frame), gibt frameId die ID dieses Frames an, nicht die ID des äußeren Frames. Frame-IDs sind innerhalb eines Tabs eindeutig.

      • Chrome 106 oder höher

        Der Typ des Frames, in dem die Anfrage aufgetreten ist.

      • fromCache

        boolean

        Gibt an, ob diese Antwort aus dem Datenträger-Cache abgerufen wurde.

      • initiator

        String optional

        Chrome 63 oder höher

        Der Ursprung, von dem die Anfrage initiiert wurde. Dies ändert sich auch durch Weiterleitungen nicht. Wenn es sich um einen intransparenten Ursprung handelt, wird der String „null“ verwendet.

      • ip

        String optional

        Die Server-IP-Adresse, an die die Anfrage tatsächlich gesendet wurde. Beachten Sie, dass es sich um eine IPv6-Adresse handeln kann.

      • method

        String

        Standard-HTTP-Methode.

      • parentDocumentId

        String optional

        Chrome 106 oder höher

        Die UUID des übergeordneten Dokuments, zu dem dieser Frame gehört. Dieses Feld wird nicht festgelegt, wenn es kein übergeordnetes Element gibt.

      • parentFrameId

        Zahl

        ID des Frames, der den Frame umschließt, von dem die Anfrage gesendet wurde. Wird auf -1 gesetzt, wenn kein übergeordneter Frame vorhanden ist.

      • redirectUrl

        String

        Die neue URL.

      • requestId

        String

        Die ID der Anfrage. Anfrage-IDs sind innerhalb einer Browsersitzung eindeutig. Daher können sie verwendet werden, um verschiedene Ereignisse derselben Anfrage miteinander in Beziehung zu setzen.

      • responseHeaders

        HttpHeaders optional

        Die HTTP-Antwortheader, die zusammen mit dieser Weiterleitung empfangen wurden.

      • statusCode

        Zahl

        Vom Server zurückgegebener Standard-HTTP-Statuscode.

      • statusLine

        String

        HTTP-Statuszeile der Antwort oder der String „HTTP/0.9 200 OK“ für HTTP/0.9-Antworten (d.h. Antworten ohne Statuszeile) oder ein leerer String, wenn keine Header vorhanden sind.

      • tabId

        Zahl

        Die ID des Tabs, in dem die Anfrage erfolgt. Wird auf -1 gesetzt, wenn die Anfrage nicht mit einem Tab zusammenhängt.

      • timeStamp

        Zahl

        Der Zeitpunkt, zu dem dieses Signal ausgelöst wird, in Millisekunden seit der Epoche.

      • Wie die angeforderte Ressource verwendet wird.

      • URL

        String

  • Filter
  • extraInfoSpec

onBeforeRequest

chrome.webRequest.onBeforeRequest.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnBeforeRequestOptions[],
)

Wird ausgelöst, wenn eine Anfrage bevorsteht.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (details: object) => BlockingResponse | undefined

    • Details

      Objekt

      • documentId

        String optional

        Chrome 106 oder höher

        Die UUID des Dokuments, das die Anfrage stellt.

      • documentLifecycle
        Chrome 106 oder höher

        Der Lebenszyklus, in dem sich das Dokument befindet.

      • frameId

        Zahl

        Der Wert 0 gibt an, dass die Anfrage im Hauptframe erfolgt. Ein positiver Wert gibt die ID eines Unterframes an, in dem die Anfrage erfolgt. Wenn das Dokument eines (Unter-)Frames geladen wird (type ist main_frame oder sub_frame), gibt frameId die ID dieses Frames an, nicht die ID des äußeren Frames. Frame-IDs sind innerhalb eines Tabs eindeutig.

      • frameType
        Chrome 106 oder höher

        Der Typ des Frames, in dem die Anfrage aufgetreten ist.

      • initiator

        String optional

        Chrome 63 oder höher

        Der Ursprung, von dem die Anfrage initiiert wurde. Dies ändert sich auch durch Weiterleitungen nicht. Wenn es sich um einen intransparenten Ursprung handelt, wird der String „null“ verwendet.

      • method

        String

        Standard-HTTP-Methode.

      • parentDocumentId

        String optional

        Chrome 106 oder höher

        Die UUID des übergeordneten Dokuments, zu dem dieser Frame gehört. Dieses Feld wird nicht festgelegt, wenn es kein übergeordnetes Element gibt.

      • parentFrameId

        Zahl

        ID des Frames, der den Frame umschließt, von dem die Anfrage gesendet wurde. Wird auf -1 gesetzt, wenn kein übergeordneter Frame vorhanden ist.

      • requestBody

        Objekt optional

        Enthält die Daten des HTTP-Anfragetexts. Wird nur angegeben, wenn „extraInfoSpec“ den Wert „requestBody“ enthält.

        • Fehler

          String optional

          Fehler beim Abrufen von Anfragetextdaten.

        • formData

          Objekt optional

          Wenn die Anfragemethode POST ist und der Text eine Sequenz von Schlüssel/Wert-Paaren ist, die in UTF8 codiert sind, entweder als multipart/form-data oder application/x-www-form-urlencoded, ist dieses Wörterbuch vorhanden und enthält für jeden Schlüssel die Liste aller Werte für diesen Schlüssel. Wenn die Daten einen anderen Medientyp haben oder fehlerhaft sind, ist das Wörterbuch nicht vorhanden. Ein Beispielwert für dieses Dictionary ist {'key': ['value1', 'value2']}.

        • raw

          UploadData[] optional

          Wenn die Anfragemethode PUT oder POST ist und der Text nicht bereits in formData geparst wurde, sind die ungeparsten Elemente des Anfragetexts in diesem Array enthalten.

      • requestId

        String

        Die ID der Anfrage. Anfrage-IDs sind innerhalb einer Browsersitzung eindeutig. Daher können sie verwendet werden, um verschiedene Ereignisse derselben Anfrage miteinander in Beziehung zu setzen.

      • tabId

        Zahl

        Die ID des Tabs, in dem die Anfrage erfolgt. Wird auf -1 gesetzt, wenn die Anfrage nicht mit einem Tab zusammenhängt.

      • timeStamp

        Zahl

        Der Zeitpunkt, zu dem dieses Signal ausgelöst wird, in Millisekunden seit der Epoche.

      • Wie die angeforderte Ressource verwendet wird.

      • URL

        String

    • Gibt zurück

      BlockingResponse | undefined

      Wenn im Parameter „extraInfoSpec“ der Wert „blocking“ angegeben ist, sollte der Ereignis-Listener ein Objekt dieses Typs zurückgeben.

  • Filter
  • extraInfoSpec

onBeforeSendHeaders

chrome.webRequest.onBeforeSendHeaders.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnBeforeSendHeadersOptions[],
)

Wird ausgelöst, bevor eine HTTP-Anfrage gesendet wird, sobald die Anfrageheader verfügbar sind. Dies kann auftreten, nachdem eine TCP-Verbindung zum Server hergestellt wurde, aber bevor HTTP-Daten gesendet werden.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (details: object) => BlockingResponse | undefined

    • Details

      Objekt

      • documentId

        String optional

        Chrome 106 oder höher

        Die UUID des Dokuments, das die Anfrage stellt.

      • Chrome 106 oder höher

        Der Lebenszyklus, in dem sich das Dokument befindet.

      • frameId

        Zahl

        Der Wert 0 gibt an, dass die Anfrage im Hauptframe erfolgt. Ein positiver Wert gibt die ID eines Unterframes an, in dem die Anfrage erfolgt. Wenn das Dokument eines (Unter-)Frames geladen wird (type ist main_frame oder sub_frame), gibt frameId die ID dieses Frames an, nicht die ID des äußeren Frames. Frame-IDs sind innerhalb eines Tabs eindeutig.

      • Chrome 106 oder höher

        Der Typ des Frames, in dem die Anfrage aufgetreten ist.

      • initiator

        String optional

        Chrome 63 oder höher

        Der Ursprung, von dem die Anfrage initiiert wurde. Dies ändert sich auch durch Weiterleitungen nicht. Wenn es sich um einen intransparenten Ursprung handelt, wird der String „null“ verwendet.

      • method

        String

        Standard-HTTP-Methode.

      • parentDocumentId

        String optional

        Chrome 106 oder höher

        Die UUID des übergeordneten Dokuments, zu dem dieser Frame gehört. Dieses Feld wird nicht festgelegt, wenn es kein übergeordnetes Element gibt.

      • parentFrameId

        Zahl

        ID des Frames, der den Frame umschließt, von dem die Anfrage gesendet wurde. Wird auf -1 gesetzt, wenn kein übergeordneter Frame vorhanden ist.

      • requestHeaders

        HttpHeaders optional

        Die HTTP-Anfrageheader, die mit dieser Anfrage gesendet werden.

      • requestId

        String

        Die ID der Anfrage. Anfrage-IDs sind innerhalb einer Browsersitzung eindeutig. Daher können sie verwendet werden, um verschiedene Ereignisse derselben Anfrage miteinander in Beziehung zu setzen.

      • tabId

        Zahl

        Die ID des Tabs, in dem die Anfrage erfolgt. Wird auf -1 gesetzt, wenn die Anfrage nicht mit einem Tab zusammenhängt.

      • timeStamp

        Zahl

        Der Zeitpunkt, zu dem dieses Signal ausgelöst wird, in Millisekunden seit der Epoche.

      • Wie die angeforderte Ressource verwendet wird.

      • URL

        String

    • Gibt zurück

      BlockingResponse | undefined

      Wenn im Parameter „extraInfoSpec“ der Wert „blocking“ angegeben ist, sollte der Ereignis-Listener ein Objekt dieses Typs zurückgeben.

  • Filter
  • extraInfoSpec

onCompleted

chrome.webRequest.onCompleted.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnCompletedOptions[],
)

Wird ausgelöst, wenn eine Anfrage abgeschlossen ist.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (details: object) => void

    • Details

      Objekt

      • documentId

        String optional

        Chrome 106 oder höher

        Die UUID des Dokuments, das die Anfrage stellt.

      • Chrome 106 oder höher

        Der Lebenszyklus, in dem sich das Dokument befindet.

      • frameId

        Zahl

        Der Wert 0 gibt an, dass die Anfrage im Hauptframe erfolgt. Ein positiver Wert gibt die ID eines Unterframes an, in dem die Anfrage erfolgt. Wenn das Dokument eines (Unter-)Frames geladen wird (type ist main_frame oder sub_frame), gibt frameId die ID dieses Frames an, nicht die ID des äußeren Frames. Frame-IDs sind innerhalb eines Tabs eindeutig.

      • Chrome 106 oder höher

        Der Typ des Frames, in dem die Anfrage aufgetreten ist.

      • fromCache

        boolean

        Gibt an, ob diese Antwort aus dem Datenträger-Cache abgerufen wurde.

      • initiator

        String optional

        Chrome 63 oder höher

        Der Ursprung, von dem die Anfrage initiiert wurde. Dies ändert sich auch durch Weiterleitungen nicht. Wenn es sich um einen intransparenten Ursprung handelt, wird der String „null“ verwendet.

      • ip

        String optional

        Die Server-IP-Adresse, an die die Anfrage tatsächlich gesendet wurde. Beachten Sie, dass es sich um eine IPv6-Adresse handeln kann.

      • method

        String

        Standard-HTTP-Methode.

      • parentDocumentId

        String optional

        Chrome 106 oder höher

        Die UUID des übergeordneten Dokuments, zu dem dieser Frame gehört. Dieses Feld wird nicht festgelegt, wenn es kein übergeordnetes Element gibt.

      • parentFrameId

        Zahl

        ID des Frames, der den Frame umschließt, von dem die Anfrage gesendet wurde. Wird auf -1 gesetzt, wenn kein übergeordneter Frame vorhanden ist.

      • requestId

        String

        Die ID der Anfrage. Anfrage-IDs sind innerhalb einer Browsersitzung eindeutig. Daher können sie verwendet werden, um verschiedene Ereignisse derselben Anfrage miteinander in Beziehung zu setzen.

      • responseHeaders

        HttpHeaders optional

        Die HTTP-Antwortheader, die zusammen mit dieser Antwort empfangen wurden.

      • statusCode

        Zahl

        Vom Server zurückgegebener Standard-HTTP-Statuscode.

      • statusLine

        String

        HTTP-Statuszeile der Antwort oder der String „HTTP/0.9 200 OK“ für HTTP/0.9-Antworten (d.h. Antworten ohne Statuszeile) oder ein leerer String, wenn keine Header vorhanden sind.

      • tabId

        Zahl

        Die ID des Tabs, in dem die Anfrage erfolgt. Wird auf -1 gesetzt, wenn die Anfrage nicht mit einem Tab zusammenhängt.

      • timeStamp

        Zahl

        Der Zeitpunkt, zu dem dieses Signal ausgelöst wird, in Millisekunden seit der Epoche.

      • Wie die angeforderte Ressource verwendet wird.

      • URL

        String

  • Filter
  • extraInfoSpec

    OnCompletedOptions[] optional

onErrorOccurred

chrome.webRequest.onErrorOccurred.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnErrorOccurredOptions[],
)

Wird ausgelöst, wenn ein Fehler auftritt.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (details: object) => void

    • Details

      Objekt

      • documentId

        String optional

        Chrome 106 oder höher

        Die UUID des Dokuments, das die Anfrage stellt. Dieser Wert ist nicht vorhanden, wenn die Anfrage eine Navigation eines Frames ist.

      • Chrome 106 oder höher

        Der Lebenszyklus, in dem sich das Dokument befindet.

      • Fehler

        String

        Die Fehlerbeschreibung. Es kann nicht garantiert werden, dass dieser String zwischen den Releases abwärtskompatibel bleibt. Sie dürfen den Inhalt nicht parsen und keine Maßnahmen auf Grundlage des Inhalts ergreifen.

      • frameId

        Zahl

        Der Wert 0 gibt an, dass die Anfrage im Hauptframe erfolgt. Ein positiver Wert gibt die ID eines Unterframes an, in dem die Anfrage erfolgt. Wenn das Dokument eines (Unter-)Frames geladen wird (type ist main_frame oder sub_frame), gibt frameId die ID dieses Frames an, nicht die ID des äußeren Frames. Frame-IDs sind innerhalb eines Tabs eindeutig.

      • Chrome 106 oder höher

        Der Typ des Frames, in dem die Anfrage aufgetreten ist.

      • fromCache

        boolean

        Gibt an, ob diese Antwort aus dem Datenträger-Cache abgerufen wurde.

      • initiator

        String optional

        Chrome 63 oder höher

        Der Ursprung, von dem die Anfrage initiiert wurde. Dies ändert sich auch durch Weiterleitungen nicht. Wenn es sich um einen intransparenten Ursprung handelt, wird der String „null“ verwendet.

      • ip

        String optional

        Die Server-IP-Adresse, an die die Anfrage tatsächlich gesendet wurde. Beachten Sie, dass es sich um eine IPv6-Adresse handeln kann.

      • method

        String

        Standard-HTTP-Methode.

      • parentDocumentId

        String optional

        Chrome 106 oder höher

        Die UUID des übergeordneten Dokuments, zu dem dieser Frame gehört. Dieses Feld wird nicht festgelegt, wenn es kein übergeordnetes Element gibt.

      • parentFrameId

        Zahl

        ID des Frames, der den Frame umschließt, von dem die Anfrage gesendet wurde. Wird auf -1 gesetzt, wenn kein übergeordneter Frame vorhanden ist.

      • requestId

        String

        Die ID der Anfrage. Anfrage-IDs sind innerhalb einer Browsersitzung eindeutig. Daher können sie verwendet werden, um verschiedene Ereignisse derselben Anfrage miteinander in Beziehung zu setzen.

      • tabId

        Zahl

        Die ID des Tabs, in dem die Anfrage erfolgt. Wird auf -1 gesetzt, wenn die Anfrage nicht mit einem Tab zusammenhängt.

      • timeStamp

        Zahl

        Der Zeitpunkt, zu dem dieses Signal ausgelöst wird, in Millisekunden seit der Epoche.

      • Wie die angeforderte Ressource verwendet wird.

      • URL

        String

  • Filter
  • extraInfoSpec

onHeadersReceived

chrome.webRequest.onHeadersReceived.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnHeadersReceivedOptions[],
)

Wird ausgelöst, wenn die HTTP-Antwortheader einer Anfrage empfangen wurden.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (details: object) => BlockingResponse | undefined

    • Details

      Objekt

      • documentId

        String optional

        Chrome 106 oder höher

        Die UUID des Dokuments, das die Anfrage stellt.

      • Chrome 106 oder höher

        Der Lebenszyklus, in dem sich das Dokument befindet.

      • frameId

        Zahl

        Der Wert 0 gibt an, dass die Anfrage im Hauptframe erfolgt. Ein positiver Wert gibt die ID eines Unterframes an, in dem die Anfrage erfolgt. Wenn das Dokument eines (Unter-)Frames geladen wird (type ist main_frame oder sub_frame), gibt frameId die ID dieses Frames an, nicht die ID des äußeren Frames. Frame-IDs sind innerhalb eines Tabs eindeutig.

      • Chrome 106 oder höher

        Der Typ des Frames, in dem die Anfrage aufgetreten ist.

      • initiator

        String optional

        Chrome 63 oder höher

        Der Ursprung, von dem die Anfrage initiiert wurde. Dies ändert sich auch durch Weiterleitungen nicht. Wenn es sich um einen intransparenten Ursprung handelt, wird der String „null“ verwendet.

      • method

        String

        Standard-HTTP-Methode.

      • parentDocumentId

        String optional

        Chrome 106 oder höher

        Die UUID des übergeordneten Dokuments, zu dem dieser Frame gehört. Dieses Feld wird nicht festgelegt, wenn es kein übergeordnetes Element gibt.

      • parentFrameId

        Zahl

        ID des Frames, der den Frame umschließt, von dem die Anfrage gesendet wurde. Wird auf -1 gesetzt, wenn kein übergeordneter Frame vorhanden ist.

      • requestId

        String

        Die ID der Anfrage. Anfrage-IDs sind innerhalb einer Browsersitzung eindeutig. Daher können sie verwendet werden, um verschiedene Ereignisse derselben Anfrage miteinander in Beziehung zu setzen.

      • responseHeaders

        HttpHeaders optional

        Die HTTP-Antwortheader, die mit dieser Antwort empfangen wurden.

      • securityInfo

        SecurityInfo optional

        Chrome 144+

        Informationen zur TLS/QUIC-Verbindung, die für die zugrunde liegende Verbindung verwendet wird. Wird nur angegeben, wenn securityInfo im Parameter extraInfoSpec angegeben ist.

      • statusCode

        Zahl

        Chrome 43 oder höher

        Vom Server zurückgegebener Standard-HTTP-Statuscode.

      • statusLine

        String

        HTTP-Statuszeile der Antwort oder der String „HTTP/0.9 200 OK“ für HTTP/0.9-Antworten (d.h. Antworten ohne Statuszeile).

      • tabId

        Zahl

        Die ID des Tabs, in dem die Anfrage erfolgt. Wird auf -1 gesetzt, wenn die Anfrage nicht mit einem Tab zusammenhängt.

      • timeStamp

        Zahl

        Der Zeitpunkt, zu dem dieses Signal ausgelöst wird, in Millisekunden seit der Epoche.

      • Wie die angeforderte Ressource verwendet wird.

      • URL

        String

    • Gibt zurück

      BlockingResponse | undefined

      Wenn im Parameter „extraInfoSpec“ der Wert „blocking“ angegeben ist, sollte der Ereignis-Listener ein Objekt dieses Typs zurückgeben.

  • Filter
  • extraInfoSpec

onResponseStarted

chrome.webRequest.onResponseStarted.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnResponseStartedOptions[],
)

Wird ausgelöst, wenn das erste Byte des Antworttexts empfangen wird. Bei HTTP-Anfragen bedeutet dies, dass die Statuszeile und die Antwortheader verfügbar sind.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (details: object) => void

    • Details

      Objekt

      • documentId

        String optional

        Chrome 106 oder höher

        Die UUID des Dokuments, das die Anfrage stellt.

      • Chrome 106 oder höher

        Der Lebenszyklus, in dem sich das Dokument befindet.

      • frameId

        Zahl

        Der Wert 0 gibt an, dass die Anfrage im Hauptframe erfolgt. Ein positiver Wert gibt die ID eines Unterframes an, in dem die Anfrage erfolgt. Wenn das Dokument eines (Unter-)Frames geladen wird (type ist main_frame oder sub_frame), gibt frameId die ID dieses Frames an, nicht die ID des äußeren Frames. Frame-IDs sind innerhalb eines Tabs eindeutig.

      • Chrome 106 oder höher

        Der Typ des Frames, in dem die Anfrage aufgetreten ist.

      • fromCache

        boolean

        Gibt an, ob diese Antwort aus dem Datenträger-Cache abgerufen wurde.

      • initiator

        String optional

        Chrome 63 oder höher

        Der Ursprung, von dem die Anfrage initiiert wurde. Dies ändert sich auch durch Weiterleitungen nicht. Wenn es sich um einen intransparenten Ursprung handelt, wird der String „null“ verwendet.

      • ip

        String optional

        Die Server-IP-Adresse, an die die Anfrage tatsächlich gesendet wurde. Beachten Sie, dass es sich um eine IPv6-Adresse handeln kann.

      • method

        String

        Standard-HTTP-Methode.

      • parentDocumentId

        String optional

        Chrome 106 oder höher

        Die UUID des übergeordneten Dokuments, zu dem dieser Frame gehört. Dieses Feld wird nicht festgelegt, wenn es kein übergeordnetes Element gibt.

      • parentFrameId

        Zahl

        ID des Frames, der den Frame umschließt, von dem die Anfrage gesendet wurde. Wird auf -1 gesetzt, wenn kein übergeordneter Frame vorhanden ist.

      • requestId

        String

        Die ID der Anfrage. Anfrage-IDs sind innerhalb einer Browsersitzung eindeutig. Daher können sie verwendet werden, um verschiedene Ereignisse derselben Anfrage miteinander in Beziehung zu setzen.

      • responseHeaders

        HttpHeaders optional

        Die HTTP-Antwortheader, die zusammen mit dieser Antwort empfangen wurden.

      • statusCode

        Zahl

        Vom Server zurückgegebener Standard-HTTP-Statuscode.

      • statusLine

        String

        HTTP-Statuszeile der Antwort oder der String „HTTP/0.9 200 OK“ für HTTP/0.9-Antworten (d.h. Antworten ohne Statuszeile) oder ein leerer String, wenn keine Header vorhanden sind.

      • tabId

        Zahl

        Die ID des Tabs, in dem die Anfrage erfolgt. Wird auf -1 gesetzt, wenn die Anfrage nicht mit einem Tab zusammenhängt.

      • timeStamp

        Zahl

        Der Zeitpunkt, zu dem dieses Signal ausgelöst wird, in Millisekunden seit der Epoche.

      • Wie die angeforderte Ressource verwendet wird.

      • URL

        String

  • Filter
  • extraInfoSpec

onSendHeaders

chrome.webRequest.onSendHeaders.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnSendHeadersOptions[],
)

Wird ausgelöst, kurz bevor eine Anfrage an den Server gesendet wird. Änderungen von vorherigen „onBeforeSendHeaders“-Callbacks sind sichtbar, wenn „onSendHeaders“ ausgelöst wird.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (details: object) => void

    • Details

      Objekt

      • documentId

        String optional

        Chrome 106 oder höher

        Die UUID des Dokuments, das die Anfrage stellt.

      • Chrome 106 oder höher

        Der Lebenszyklus, in dem sich das Dokument befindet.

      • frameId

        Zahl

        Der Wert 0 gibt an, dass die Anfrage im Hauptframe erfolgt. Ein positiver Wert gibt die ID eines Unterframes an, in dem die Anfrage erfolgt. Wenn das Dokument eines (Unter-)Frames geladen wird (type ist main_frame oder sub_frame), gibt frameId die ID dieses Frames an, nicht die ID des äußeren Frames. Frame-IDs sind innerhalb eines Tabs eindeutig.

      • Chrome 106 oder höher

        Der Typ des Frames, in dem die Anfrage aufgetreten ist.

      • initiator

        String optional

        Chrome 63 oder höher

        Der Ursprung, von dem die Anfrage initiiert wurde. Dies ändert sich auch durch Weiterleitungen nicht. Wenn es sich um einen intransparenten Ursprung handelt, wird der String „null“ verwendet.

      • method

        String

        Standard-HTTP-Methode.

      • parentDocumentId

        String optional

        Chrome 106 oder höher

        Die UUID des übergeordneten Dokuments, zu dem dieser Frame gehört. Dieses Feld wird nicht festgelegt, wenn es kein übergeordnetes Element gibt.

      • parentFrameId

        Zahl

        ID des Frames, der den Frame umschließt, von dem die Anfrage gesendet wurde. Wird auf -1 gesetzt, wenn kein übergeordneter Frame vorhanden ist.

      • requestHeaders

        HttpHeaders optional

        Die HTTP-Anfrageheader, die mit dieser Anfrage gesendet wurden.

      • requestId

        String

        Die ID der Anfrage. Anfrage-IDs sind innerhalb einer Browsersitzung eindeutig. Daher können sie verwendet werden, um verschiedene Ereignisse derselben Anfrage miteinander in Beziehung zu setzen.

      • tabId

        Zahl

        Die ID des Tabs, in dem die Anfrage erfolgt. Wird auf -1 gesetzt, wenn die Anfrage nicht mit einem Tab zusammenhängt.

      • timeStamp

        Zahl

        Der Zeitpunkt, zu dem dieses Signal ausgelöst wird, in Millisekunden seit der Epoche.

      • Wie die angeforderte Ressource verwendet wird.

      • URL

        String

  • Filter
  • extraInfoSpec