chrome.webRequest

Beschreibung

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

Berechtigungen

webRequest

Sie müssen die Berechtigung "webRequest" im Erweiterungsmanifest deklarieren, um die Webanfrage-API zusammen mit den erforderlichen Hostberechtigungen verwenden zu können. Damit eine Erweiterung eine Anfrage für eine untergeordnete Ressource abfangen kann, muss sie Zugriff auf die angeforderte URL und den Initiator haben. Beispiel:

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

webRequestBlocking

Erforderlich, um blockierende Event-Handler zu registrieren. Ab Manifest V3 ist dies nur für Erweiterungen verfügbar, die über Richtlinien installiert wurden.

webRequestAuthProvider

Erforderlich für die Verwendung der Methode onAuthRequired. Weitere Informationen finden Sie unter Authentifizierung verarbeiten.

Konzepte und Verwendung

Lebenszyklus von Anfragen

Die Web Request API definiert eine Reihe von Ereignissen, die dem Lebenszyklus einer Webanfrage folgen. Mit diesen Ereignissen können Sie den Traffic beobachten und 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. Es kann verwendet werden, um Anfragen abzubrechen oder umzuleiten.
onBeforeSendHeaders (optional synchron)
Wird ausgelöst, wenn eine Anfrage bevorsteht und die ersten Header vorbereitet wurden. Mit dem Ereignis können Erweiterungen Anfrageheader hinzufügen, ändern und löschen (*). Das onBeforeSendHeaders-Ereignis wird an alle Abonnenten übergeben. Daher können verschiedene Abonnenten versuchen, die Anfrage zu ändern. Weitere Informationen dazu, wie dies gehandhabt wird, finden Sie im Abschnitt Implementierungsdetails. Mit diesem Ereignis kann die Anfrage abgebrochen werden.
onSendHeaders
Wird ausgelöst, nachdem alle Erweiterungen die Anfrageheader geändert haben. Es wird die endgültige Version (*) angezeigt. Das Ereignis wird ausgelöst, bevor die Header an das Netzwerk gesendet werden. Dieses Ereignis dient nur zur Information und wird asynchron verarbeitet. Sie können die Anfrage nicht ändern oder stornieren.
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 geschehen. Mit diesem Ereignis können Erweiterungen Antwortheader wie eingehende Content-Type-Header hinzufügen, ändern und 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 Anmeldedaten für die Authentifizierung bereitzustellen. Beachten Sie, dass Erweiterungen möglicherweise ungültige Anmeldedaten liefern. Achten Sie darauf, keine Endlosschleife zu verursachen, indem Sie wiederholt ungültige Anmeldedaten eingeben. Dies kann auch zum Abbrechen der Anfrage verwendet werden.
onBeforeRedirect
Wird ausgelöst, wenn eine Weiterleitung ausgeführt werden soll. Eine Weiterleitung kann durch einen HTTP-Antwortcode oder durch eine Erweiterung ausgelöst werden. Dieses Ereignis dient zu Informationszwecken und wird asynchron verarbeitet. Sie können die Anfrage nicht ändern oder stornieren.
onResponseStarted
Wird ausgelöst, wenn das erste Byte des Antwortinhalts empfangen wird. Bei HTTP-Anfragen bedeutet das, dass die Statuszeile und die Antwortheader verfügbar sind. Dieses Ereignis dient zu Informationszwecken 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. Eine Ausnahme: Wenn eine Anfrage zu einer data://-URL weitergeleitet wird, ist onBeforeRedirect das letzte gemeldete Ereignis.

* Die Webanfrage-API bietet eine Abstraktion des Netzwerkstacks für die Erweiterung. Intern kann eine URL-Anfrage in mehrere HTTP-Anfragen aufgeteilt werden (z. B. um einzelne Bytebereiche aus einer großen Datei abzurufen) oder vom Netzwerk-Stack verarbeitet werden, ohne dass eine Kommunikation mit dem Netzwerk erfolgt. 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 möglicherweise nicht vollständig und kann sich ändern.

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

Ab Chrome 79 wirken sich Änderungen am Anfrageheader auf CORS-Prüfungen (Cross-Origin Resource Sharing) aus. Wenn modifizierte Header für Cross-Origin-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. Antwortheader-Änderungen können hingegen nicht verwendet werden, um CORS-Prüfungen zu umgehen. Wenn Sie das CORS-Protokoll umgehen müssen, müssen Sie auch 'extraHeaders' für die Antwortänderungen angeben.

Ab Chrome 79 werden CORS-Preflight-Anfragen und ‑Antworten standardmäßig nicht von der webRequest API abgefangen. Ein CORS-Preflight für eine Anfrage-URL ist für eine Erweiterung sichtbar, wenn für die Anfrage-URL ein Listener mit 'extraHeaders' in opt_extraInfoSpec 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

Ab Chrome 72 müssen Sie 'extraHeaders' in opt_extraInfoSpec angeben, wenn Sie Antworten ändern müssen, bevor Cross-Origin Read Blocking (CORB) die Antwort blockieren kann.

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 effektiv geändert oder entfernt werden, ohne 'extraHeaders' in opt_extraInfoSpec anzugeben.

Die webRequest API macht nur Anfragen verfügbar, 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 auch bestimmte Anfragen mit URLs, die eines der oben genannten Schemas verwenden, ausgeblendet. Dazu gehören chrome-extension://other_extension_id, wenn other_extension_id nicht die ID der Erweiterung ist, die die Anfrage verarbeiten soll, https://www.google.com/chrome und andere sensible Anfragen, die für die Browserfunktionen von zentraler Bedeutung sind. Auch synchrone XMLHttpRequests aus Ihrer Erweiterung werden vor blockierenden Ereignishandlern verborgen, um Deadlocks zu verhindern. Bei einigen der unterstützten Schemas ist die Anzahl der verfügbaren Ereignisse aufgrund der Art des entsprechenden Protokolls möglicherweise begrenzt. Für das Dateischema dürfen beispielsweise 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 sein Ablauf in das HTTP-orientierte webRequest-Modell. Die API fängt nicht ab:

  • Einzelne Nachrichten, die über eine bestehende WebSocket-Verbindung gesendet werden.
  • WebSocket schließt die Verbindung.

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

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

Ab Chrome 96 unterstützt die webRequest API das Abfangen der WebTransport-Handshake-Anfrage über HTTP/3. Da der Handshake über eine HTTP CONNECT-Anfrage erfolgt, passt sein 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 in sie eingreifen.
  • Das Ändern von HTTP-Anfrageheadern in onBeforeSendHeaders wird ignoriert.
  • Weiterleitungen und Authentifizierungen werden bei WebTransport über HTTP/3 nicht unterstützt.

Anfrage-IDs

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

Event-Listener registrieren

Um einen Event-Listener für eine Webanfrage zu registrieren, verwenden Sie eine Variante der üblichen addListener()-Funktion. Zusätzlich zur Angabe einer Callback-Funktion müssen Sie ein Filterargument und optional 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 sehen Sie ein Beispiel für das Abhören des onBeforeRequest-Ereignisses:

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

Für jeden addListener()-Aufruf ist eine obligatorische Callback-Funktion als erster Parameter erforderlich. An diese Callback-Funktion wird ein Dictionary mit Informationen zur aktuellen URL-Anfrage übergeben. Die Informationen in diesem Dictionary 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 kann mit dieser Antwort eine Anfrage abgebrochen oder umgeleitet (onBeforeRequest), eine Anfrage abgebrochen oder Header geändert (onBeforeSendHeaders, onHeadersReceived) und eine Anfrage abgebrochen oder Anmeldedaten bereitgestellt (onAuthRequired) werden.

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

Mit dem webRequest.RequestFilter filter lassen sich 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 Frame der obersten Ebene geladen wird), sub_frame (ein Dokument, das für einen eingebetteten Frame geladen wird) und image (ein Bild auf einer Website). Weitere Informationen finden Sie unter webRequest.RequestFilter.
Tab ID
Die Kennung für einen Tab.
Fenster-ID
Die Kennung für ein Fenster.

Je nach Ereignistyp können Sie in opt_extraInfoSpec Strings angeben, um zusätzliche Informationen zur Anfrage zu erhalten. Diese wird verwendet, um detaillierte Informationen zu den Daten der Anfrage nur dann bereitzustellen, wenn dies ausdrücklich angefordert wird.

Authentifizierung verarbeiten

Wenn Sie Anfragen für die HTTP-Authentifizierung verarbeiten möchten, fügen Sie die Berechtigung "webRequestAuthProvider" in Ihre Manifestdatei ein:

{   "permissions": [     "webRequest",     "webRequestAuthProvider"   ] } 

Diese Berechtigung ist nicht für eine Erweiterung mit installierter Richtlinie und der Berechtigung "webRequestBlocking" erforderlich.

So geben Sie Anmeldedaten synchron an:

chrome.webRequest.onAuthRequired.addListener((details) => {     return {       authCredentials: {         username: 'guest',         password: 'guest'       }     };   },   { urls: ['https://httpbin.org/basic-auth/guest/guest'] },   ['blocking'] ); 

So geben Sie Anmeldedaten asynchron an:

chrome.webRequest.onAuthRequired.addListener((details, callback) => {     callback({       authCredentials: {         username: 'guest',         password: 'guest'       }     });   },   { urls: ['https://httpbin.org/basic-auth/guest/guest'] },   ['asyncBlocking'] ); 

Implementierungsdetails

Bei der Entwicklung einer Erweiterung, die die Web Request API verwendet, sind einige Implementierungsdetails wichtig:

web_accessible_resources

Wenn eine Erweiterung webRequest-APIs verwendet, um eine Anfrage für eine öffentliche Ressource 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, auf die nicht über das Web zugegriffen werden kann, der weiterleitenden Erweiterung gehört. Wenn Sie Ressourcen für die Verwendung mit deklarativenWebRequest-APIs deklarieren möchten, muss das "web_accessible_resources"-Array im Manifest deklariert und gefüllt werden, wie hier dokumentiert.

Konfliktlösung

In der aktuellen Implementierung der Webanfrage-API wird eine Anfrage als abgebrochen betrachtet, wenn mindestens eine Erweiterung die Anfrage abbricht. 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 nur die zuletzt installierte Erweiterung berücksichtigt. Eine Erweiterung wird nicht benachrichtigt, wenn ihre Anweisung zum Ändern oder Weiterleiten ignoriert wurde.

Caching

Chrome verwendet zwei Caches: einen Cache auf der Festplatte und einen sehr schnellen Cache im Arbeitsspeicher. Die Lebensdauer eines In-Memory-Caches ist an die Lebensdauer eines Rendering-Prozesses gebunden, der in etwa einem Tab entspricht. Anfragen, die aus dem In-Memory-Cache beantwortet werden, sind für die Web Request API nicht sichtbar. Wenn ein Request-Handler sein Verhalten ändert (z. B. das Verhalten, nach dem Anfragen blockiert werden), wird dieses geänderte Verhalten möglicherweise nicht durch einfaches Aktualisieren der Seite berücksichtigt. Rufen Sie handlerBehaviorChanged() auf, um den In-Memory-Cache zu leeren, damit die Verhaltensänderung übernommen wird. Sie sollten das aber nicht oft tun, da das Leeren des Cache ein sehr aufwendiger Vorgang ist. Sie müssen handlerBehaviorChanged() nicht aufrufen, nachdem Sie einen Ereignis-Listener registriert oder die Registrierung aufgehoben haben.

Zeitstempel

Die timestamp-Property von Webanfrageereignissen ist nur intern konsistent. Wenn Sie ein Ereignis mit einem anderen Ereignis vergleichen, erhalten Sie den richtigen Offset zwischen den beiden Ereignissen. Wenn Sie sie jedoch mit der aktuellen Zeit in der Erweiterung vergleichen (z. B. über (new Date()).getTime()), kann das 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 Ereignishandler 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 für diese Funktion ein blockierender Ereignis-Handler verwendet wird, sind sowohl die Berechtigung "webRequest" als auch die Berechtigung "webRequestBlocking" in der Manifestdatei 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 weitergeleitet 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 „blocking“ extraInfoSpec angewendet wird. Ermöglicht dem Event-Handler, Netzwerkanfragen zu ändern.

Attribute

  • authCredentials

    object optional

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

    • Passwort

      String

    • Nutzername

      String

  • Abbrechen

    boolean optional

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

  • redirectUrl

    String optional

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

  • requestHeaders

    HttpHeaders optional

    Wird nur als Reaktion auf das Ereignis „onBeforeSendHeaders“ verwendet. Wenn diese festgelegt sind, wird die Anfrage stattdessen mit diesen Anfrageheadern gesendet.

  • responseHeaders

    HttpHeaders optional

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

FormDataItem

Chrome 66 und höher

Enthält Daten, die in Formulardaten übergeben werden. Bei URL-codierten Formularen werden Daten als String gespeichert, wenn es sich um UTF-8-Strings handelt, andernfalls als ArrayBuffer. Für Formulardaten ist es ArrayBuffer. Wenn „form-data“ das Hochladen einer 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 Dictionary 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. Er wird als einzelne Byte-Werte (0–255) gespeichert.

  • name

    String

    Name des HTTP-Headers.

  • Wert

    String optional

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

IgnoredActionType

Chrome 70 und höher

Enum

"redirect"

"request_headers"

"response_headers"

"auth_credentials"

OnAuthRequiredOptions

Chrome 44 und 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 und 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 und höher

Enum

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

„requestBody“
Gibt an, dass der Anfragetext in das Ereignis aufgenommen werden soll.

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

OnBeforeSendHeadersOptions

Chrome 44 und 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 und 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 und höher

Wert

"extraHeaders"

OnHeadersReceivedOptions

Chrome 44 und 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.

OnResponseStartedOptions

Chrome 44 und 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 und 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 für webRequest-Ereignisse beschreibt.

Attribute

  • tabId

    number optional

  • Typen

    ResourceType[] optional

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

  • URLs

    String[]

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

  • windowId

    number optional

ResourceType

Chrome 44 und höher

Enum

„main_frame“
Gibt die Ressource als Hauptframe an.

„sub_frame“
Gibt die Ressource als untergeordneten Frame an.

„stylesheet“
Gibt die Ressource als Stylesheet an.

„script“
Gibt die Ressource als Skript 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 CSP-Bericht (Content Security Policy) an.

„media“
Gibt die Ressource als Media-Objekt 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.

UploadData

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

Attribute

  • Byte

    Beliebig optional

    Ein ArrayBuffer mit einer Kopie der Daten.

  • Datei

    String optional

    Ein String mit dem Pfad und Namen der Datei.

Attribute

MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES

Die maximale Anzahl von Aufrufen von handlerBehaviorChanged in einem fortlaufenden Intervall von 10 Minuten. handlerBehaviorChanged ist ein aufwendiger Funktionsaufruf, der nicht oft aufgerufen werden sollte.

Wert

20

Methoden

handlerBehaviorChanged()

chrome.webRequest.handlerBehaviorChanged(): Promise<void>

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

Ausgabe

  • Promise<void>

    Chrome 116 und höher

Ereignisse

onActionIgnored

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

Wird ausgelöst, wenn die vorgeschlagene Änderung einer Netzwerkanfrage durch eine Erweiterung ignoriert wird. Das kann passieren, wenn es Konflikte mit anderen Erweiterungen gibt.

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 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 Möglichkeiten: Er kann Anmeldedaten für die Authentifizierung angeben, die Anfrage abbrechen und die Fehlerseite anzeigen oder keine Maßnahmen in Bezug auf die Challenge ergreifen. Wenn ungültige Nutzeranmeldedaten angegeben werden, kann diese Funktion für dieselbe Anfrage mehrmals aufgerufen werden. Hinweis: Im Parameter extraInfoSpec muss 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

      • Herausforderer

        Objekt

        Der Server, der die Authentifizierung anfordert.

        • Host

          String

        • Port

          Zahl

      • documentId

        String

        Chrome 106 und höher

        Die UUID des Dokuments, das die Anfrage stellt.

      • Chrome 106 und höher

        Die Lebenszyklusphase des Dokuments.

      • 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 und höher

        Der Typ des Frames, in dem die Anfrage gestellt wurde.

      • Initiator

        String optional

        Chrome 63 und höher

        Der Ursprung, von dem die Anfrage initiiert wurde. Das ändert sich auch durch Weiterleitungen nicht. Wenn es sich um einen undurchsichtigen 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 und höher

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

      • parentFrameId

        Zahl

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

      • Bereich

        String optional

        Der vom Server bereitgestellte Authentifizierungsbereich, sofern 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 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 und höher

        Standard-HTTP-Statuscode, der vom Server zurückgegeben wird.

      • 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, auf dem die Anfrage erfolgt. Auf -1 gesetzt, wenn die Anfrage nicht mit einem Tab zusammenhängt.

      • timeStamp

        Zahl

        Die Zeit, zu der dieses Signal ausgelöst wird, in Millisekunden seit der Epoche.

      • Wie die angeforderte Ressource verwendet wird.

      • URL

        String

    • asyncCallback

      Funktion optional

      Chrome 58 und höher

      Der Parameter asyncCallback sieht so aus:

      (response: BlockingResponse) => void

    • Gibt zurück

      BlockingResponse | undefined

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

  • filtern
  • 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

        Chrome 106 und höher

        Die UUID des Dokuments, das die Anfrage stellt.

      • Chrome 106 und höher

        Die Lebenszyklusphase des Dokuments.

      • 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 und höher

        Der Typ des Frames, in dem die Anfrage gestellt wurde.

      • fromCache

        boolean

        Gibt an, ob diese Antwort aus dem Festplatten-Cache abgerufen wurde.

      • Initiator

        String optional

        Chrome 63 und höher

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

      • ip

        String optional

        Die Server-IP-Adresse, an die die Anfrage tatsächlich gesendet wurde. Es kann sich um eine Literal-IPv6-Adresse handeln.

      • method

        String

        Standard-HTTP-Methode.

      • parentDocumentId

        String optional

        Chrome 106 und höher

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

      • parentFrameId

        Zahl

        ID des Frames, der den Frame umschließt, der die Anfrage gesendet hat. 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 in Beziehung zu setzen.

      • responseHeaders

        HttpHeaders optional

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

      • statusCode

        Zahl

        Standard-HTTP-Statuscode, der vom Server zurückgegeben wird.

      • 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, auf dem die Anfrage erfolgt. Auf -1 gesetzt, wenn die Anfrage nicht mit einem Tab zusammenhängt.

      • timeStamp

        Zahl

        Die Zeit, zu der dieses Signal ausgelöst wird, in Millisekunden seit der Epoche.

      • Wie die angeforderte Ressource verwendet wird.

      • URL

        String

  • filtern
  • 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 und höher

        Die UUID des Dokuments, das die Anfrage stellt.

      • documentLifecycle
        Chrome 106 und höher

        Die Lebenszyklusphase des Dokuments.

      • 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 und höher

        Der Typ des Frames, in dem die Anfrage gestellt wurde.

      • Initiator

        String optional

        Chrome 63 und höher

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

      • method

        String

        Standard-HTTP-Methode.

      • parentDocumentId

        String optional

        Chrome 106 und höher

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

      • parentFrameId

        Zahl

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

      • requestBody

        object optional

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

        • Fehler

          String optional

          Fehler beim Abrufen von Daten für den Anfragetext.

        • formData

          object optional

          Wenn die Anfragemethode POST ist und der Textkörper eine Folge von Schlüssel/Wert-Paaren ist, die in UTF8 codiert sind, entweder als „multipart/form-data“ oder „application/x-www-form-urlencoded“, ist dieses Dictionary 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 Dictionary nicht vorhanden. Ein Beispielwert für dieses Dictionary ist {'key': ['value1', 'value2']}.

        • Roh

          UploadData[] optional

          Wenn die Anfragemethode PUT oder POST ist und der Text nicht bereits in „formData“ geparst wurde, enthält dieses Array die nicht geparsten Elemente des Anfragetexts.

      • requestId

        String

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

      • tabId

        Zahl

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

      • timeStamp

        Zahl

        Die Zeit, zu der dieses Signal ausgelöst wird, in Millisekunden seit der Epoche.

      • Wie die angeforderte Ressource verwendet wird.

      • URL

        String

    • Gibt zurück

      BlockingResponse | undefined

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

  • filtern
  • 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 nach dem Herstellen einer TCP-Verbindung zum Server, aber vor dem Senden von HTTP-Daten auftreten.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (details: object) => BlockingResponse | undefined

    • Details

      Objekt

      • documentId

        String

        Chrome 106 und höher

        Die UUID des Dokuments, das die Anfrage stellt.

      • Chrome 106 und höher

        Die Lebenszyklusphase des Dokuments.

      • 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 und höher

        Der Typ des Frames, in dem die Anfrage gestellt wurde.

      • Initiator

        String optional

        Chrome 63 und höher

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

      • method

        String

        Standard-HTTP-Methode.

      • parentDocumentId

        String optional

        Chrome 106 und höher

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

      • parentFrameId

        Zahl

        ID des Frames, der den Frame umschließt, der die Anfrage gesendet hat. 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 in Beziehung zu setzen.

      • tabId

        Zahl

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

      • timeStamp

        Zahl

        Die Zeit, zu der dieses Signal ausgelöst wird, in Millisekunden seit der Epoche.

      • Wie die angeforderte Ressource verwendet wird.

      • URL

        String

    • Gibt zurück

      BlockingResponse | undefined

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

  • filtern
  • 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

        Chrome 106 und höher

        Die UUID des Dokuments, das die Anfrage stellt.

      • Chrome 106 und höher

        Die Lebenszyklusphase des Dokuments.

      • 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 und höher

        Der Typ des Frames, in dem die Anfrage gestellt wurde.

      • fromCache

        boolean

        Gibt an, ob diese Antwort aus dem Festplatten-Cache abgerufen wurde.

      • Initiator

        String optional

        Chrome 63 und höher

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

      • ip

        String optional

        Die Server-IP-Adresse, an die die Anfrage tatsächlich gesendet wurde. Es kann sich um eine Literal-IPv6-Adresse handeln.

      • method

        String

        Standard-HTTP-Methode.

      • parentDocumentId

        String optional

        Chrome 106 und höher

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

      • parentFrameId

        Zahl

        ID des Frames, der den Frame umschließt, der die Anfrage gesendet hat. 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 in Beziehung zu setzen.

      • responseHeaders

        HttpHeaders optional

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

      • statusCode

        Zahl

        Standard-HTTP-Statuscode, der vom Server zurückgegeben wird.

      • 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, auf dem die Anfrage erfolgt. Auf -1 gesetzt, wenn die Anfrage nicht mit einem Tab zusammenhängt.

      • timeStamp

        Zahl

        Die Zeit, zu der dieses Signal ausgelöst wird, in Millisekunden seit der Epoche.

      • Wie die angeforderte Ressource verwendet wird.

      • URL

        String

  • filtern
  • 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

        Chrome 106 und 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 und höher

        Die Lebenszyklusphase des Dokuments.

      • Fehler

        String

        Die Fehlerbeschreibung. Es wird nicht garantiert, dass dieser String zwischen den Releases abwärtskompatibel bleibt. Sie dürfen den Inhalt nicht parsen und darauf basierende Aktionen ausführen.

      • 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 und höher

        Der Typ des Frames, in dem die Anfrage gestellt wurde.

      • fromCache

        boolean

        Gibt an, ob diese Antwort aus dem Festplatten-Cache abgerufen wurde.

      • Initiator

        String optional

        Chrome 63 und höher

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

      • ip

        String optional

        Die Server-IP-Adresse, an die die Anfrage tatsächlich gesendet wurde. Es kann sich um eine Literal-IPv6-Adresse handeln.

      • method

        String

        Standard-HTTP-Methode.

      • parentDocumentId

        String optional

        Chrome 106 und höher

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

      • parentFrameId

        Zahl

        ID des Frames, der den Frame umschließt, der die Anfrage gesendet hat. 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 in Beziehung zu setzen.

      • tabId

        Zahl

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

      • timeStamp

        Zahl

        Die Zeit, zu der dieses Signal ausgelöst wird, in Millisekunden seit der Epoche.

      • Wie die angeforderte Ressource verwendet wird.

      • URL

        String

  • filtern
  • 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

        Chrome 106 und höher

        Die UUID des Dokuments, das die Anfrage stellt.

      • Chrome 106 und höher

        Die Lebenszyklusphase des Dokuments.

      • 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 und höher

        Der Typ des Frames, in dem die Anfrage gestellt wurde.

      • Initiator

        String optional

        Chrome 63 und höher

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

      • method

        String

        Standard-HTTP-Methode.

      • parentDocumentId

        String optional

        Chrome 106 und höher

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

      • parentFrameId

        Zahl

        ID des Frames, der den Frame umschließt, der die Anfrage gesendet hat. 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 in Beziehung zu setzen.

      • responseHeaders

        HttpHeaders optional

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

      • statusCode

        Zahl

        Chrome 43 und höher

        Standard-HTTP-Statuscode, der vom Server zurückgegeben wird.

      • 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, auf dem die Anfrage erfolgt. Auf -1 gesetzt, wenn die Anfrage nicht mit einem Tab zusammenhängt.

      • timeStamp

        Zahl

        Die Zeit, zu der dieses Signal ausgelöst wird, in Millisekunden seit der Epoche.

      • Wie die angeforderte Ressource verwendet wird.

      • URL

        String

    • Gibt zurück

      BlockingResponse | undefined

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

  • filtern
  • extraInfoSpec

onResponseStarted

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

Wird ausgelöst, wenn das erste Byte des Antwortinhalts empfangen wird. Bei HTTP-Anfragen bedeutet das, 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

        Chrome 106 und höher

        Die UUID des Dokuments, das die Anfrage stellt.

      • Chrome 106 und höher

        Die Lebenszyklusphase des Dokuments.

      • 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 und höher

        Der Typ des Frames, in dem die Anfrage gestellt wurde.

      • fromCache

        boolean

        Gibt an, ob diese Antwort aus dem Festplatten-Cache abgerufen wurde.

      • Initiator

        String optional

        Chrome 63 und höher

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

      • ip

        String optional

        Die Server-IP-Adresse, an die die Anfrage tatsächlich gesendet wurde. Es kann sich um eine Literal-IPv6-Adresse handeln.

      • method

        String

        Standard-HTTP-Methode.

      • parentDocumentId

        String optional

        Chrome 106 und höher

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

      • parentFrameId

        Zahl

        ID des Frames, der den Frame umschließt, der die Anfrage gesendet hat. 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 in Beziehung zu setzen.

      • responseHeaders

        HttpHeaders optional

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

      • statusCode

        Zahl

        Standard-HTTP-Statuscode, der vom Server zurückgegeben wird.

      • 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, auf dem die Anfrage erfolgt. Auf -1 gesetzt, wenn die Anfrage nicht mit einem Tab zusammenhängt.

      • timeStamp

        Zahl

        Die Zeit, zu der dieses Signal ausgelöst wird, in Millisekunden seit der Epoche.

      • Wie die angeforderte Ressource verwendet wird.

      • URL

        String

  • filtern
  • 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 an 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

        Chrome 106 und höher

        Die UUID des Dokuments, das die Anfrage stellt.

      • Chrome 106 und höher

        Die Lebenszyklusphase des Dokuments.

      • 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 und höher

        Der Typ des Frames, in dem die Anfrage gestellt wurde.

      • Initiator

        String optional

        Chrome 63 und höher

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

      • method

        String

        Standard-HTTP-Methode.

      • parentDocumentId

        String optional

        Chrome 106 und höher

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

      • parentFrameId

        Zahl

        ID des Frames, der den Frame umschließt, der die Anfrage gesendet hat. 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 in Beziehung zu setzen.

      • tabId

        Zahl

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

      • timeStamp

        Zahl

        Die Zeit, zu der dieses Signal ausgelöst wird, in Millisekunden seit der Epoche.

      • Wie die angeforderte Ressource verwendet wird.

      • URL

        String

  • filtern
  • extraInfoSpec