chrome.webRequest

Beschreibung

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

Berechtigungen

webRequest

Sie müssen die Berechtigung "webRequest" im Erweiterungsmanifest deklarieren, um die Webanfrage verwenden zu können API zusammen mit den erforderlichen Hostberechtigungen erhalten. Zum Abfangen einer Unterressourcenanfrage -Erweiterung muss sowohl auf die angeforderte URL als auch auf ihren Initiator Zugriff haben. Beispiel:

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

webRequestBlocking

Erforderlich, um blockierende Event-Handler zu registrieren. Seit Manifest V3 ist dies nur für durch die Richtlinie installierte Erweiterungen verfügbar.

webRequestAuthProvider

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

Konzepte und Verwendung

Lebenszyklus der Anfragen

Die Web Request API definiert eine Reihe von Ereignissen, die dem Lebenszyklus einer Webanfrage folgen. Sie können um den Traffic zu beobachten und zu analysieren. Bestimmte synchrone Ereignisse ermöglichen das Abfangen, zu blockieren oder zu ä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 kurz vor dem Eintreten einer Anfrage steht. Dieses Ereignis wird gesendet, bevor eine TCP-Verbindung hergestellt wird, und kann um Anfragen abzubrechen oder weiterzuleiten.
onBeforeSendHeaders (optional synchron)
Wird ausgelöst, wenn kurz vor dem Eintreten einer Anfrage die ersten Header vorbereitet wurden. Das Ereignis ist soll Erweiterungen ermöglichen, Anfrageheader (*) hinzuzufügen, zu ändern und zu löschen. Die onBeforeSendHeaders-Ereignis wird an alle Abonnenten weitergegeben, sodass verschiedene Abonnenten versuchen können, den Antrag zu ändern; Weitere Informationen zur Vorgehensweise finden Sie im Abschnitt Details zur Implementierung. Dieser Termin kann verwendet werden, um die Anfrage abzubrechen.
onSendHeaders
Wird ausgelöst, nachdem alle Erweiterungen die Anfrageheader ändern konnten, und zeigt das endgültige Ergebnis an (*)-Version. Das Ereignis wird ausgelöst, bevor die Header an das Netzwerk gesendet werden. Dieser Termin ist und asynchron verarbeitet werden. Anfragen können nicht geändert oder abgebrochen werden.
onHeadersReceived (optional synchron)
Wird jedes Mal ausgelöst, wenn ein HTTP(S)-Antwortheader empfangen wird Aufgrund von Weiterleitungen und Authentifizierung Anfragen, kann dies mehrmals pro Anfrage geschehen. Dieses Ereignis soll Erweiterungen erlauben, Antwortheader wie eingehende Content-Type-Header hinzufügen, ändern und löschen. Das Caching vor dem Auslösen dieses Ereignisses verarbeitet werden. Das Ändern von Headern wie Cache-Control hat keinen Einfluss auf den Cache des Browsers. Außerdem haben Sie die Möglichkeit, die Anfrage abzubrechen oder weiterzuleiten.
onAuthRequired (optional synchron)
Wird ausgelöst, wenn eine Anfrage eine Authentifizierung des Nutzers erfordert Dieses Ereignis kann synchron zu Anmeldedaten zur Authentifizierung angeben. Erweiterungen können ungültige Anmeldedaten liefern. Pass auf dich auf durch wiederholtes Angeben ungültiger Anmeldedaten nicht in eine Endlosschleife zu gelangen. Dies kann auch verwendet werden, um den Vorgang abbrechen.
onBeforeRedirect
Wird ausgelöst, wenn eine Weiterleitung ausgeführt wird Eine Weiterleitung kann durch eine HTTP-Antwort ausgelöst werden Code oder durch eine Erweiterung. Dieses Ereignis dient zu Informationszwecken und wird asynchron verarbeitet. Nicht zulässig können Sie die Anfrage ändern oder abbrechen.
onResponseStarted
Wird ausgelöst, wenn das erste Byte des Antworttexts empfangen wird. Bei HTTP-Anfragen bedeutet dies, dass der Statuszeile und Antwortheader sind verfügbar. Dieses Ereignis dient nur zur Information und wird verarbeitet. asynchron programmiert. Anfragen können nicht geändert oder abgebrochen 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 mit einer Ausnahme als letztes Ereignis ausgelöst: Wird eine Anfrage an eine data://-URL weitergeleitet, onBeforeRedirect ist das letzte gemeldete Ereignis.

* Beachten Sie, dass die Web Request API der Erweiterung eine Abstraktion des Netzwerkstapels präsentiert. Intern kann eine URL-Anfrage in mehrere HTTP-Anfragen aufgeteilt werden, z. B. um einzelne Bytebereiche einer großen Datei) oder können vom Netzwerkstack verarbeitet werden, ohne mit dem Netzwerk. Aus diesem Grund stellt die API nicht die endgültigen HTTP-Header bereit, die an den Netzwerk. 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 keine Garantie dafür, dass sie vollständig oder stabil sind.

  • Autorisierung
  • Cache-Control
  • Verbindung
  • Inhaltslänge
  • Host
  • If-Modified-Since
  • If-None-Match
  • Wenn-Bereich
  • Teildaten
  • Pragma
  • Proxy-Autorisierung
  • Proxy-Verbindung
  • Transfer-Encoding

Ab Chrome 79 wirken sich Änderungen des Anfrageheaders auf Cross-Origin Resource Sharing (CORS) aus Überprüfungen. Wenn geänderte Header für ursprungsübergreifende Anfragen die Kriterien nicht erfüllen, führt dies zu Senden eines CORS-Preflights, um beim Server zu fragen, ob solche Header akzeptiert werden. Wenn Sie wirklich so ändern, dass sie gegen das CORS-Protokoll verstoßen, müssen Sie 'extraHeaders' in opt_extraInfoSpec. Andererseits können CORS-Änderungen nicht durch Änderungen des Antwortheaders getäuscht werden. Überprüfungen. Wenn Sie das CORS-Protokoll täuschen müssen, müssen Sie außerdem 'extraHeaders' für das Änderung der Antworten.

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

Ab Chrome 79 ist der folgende Anfrageheader nicht verfügbar und kann nicht geändert oder entfernt, ohne in opt_extraInfoSpec 'extraHeaders' anzugeben:

  • Ursprung

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

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

  • Akzeptieren – Sprache
  • Accept-Encoding
  • Referer
  • Cookie

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

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

Die webRequest API macht nur Anfragen sichtbar, für die die Erweiterung aufgrund ihres Hosts eine Leseberechtigung hat Berechtigungen Darüber hinaus ist nur auf die folgenden Schemas zugegriffen: http://, https://, ftp://, file://, ws:// (seit Chrome 58), wss:// (seit Chrome 58), urn: (seit Chrome 91) oder chrome-extension:// Darüber hinaus können bestimmte Anfragen mit URLs, die eines der oben genannten Schemas verwenden, sind ausgeblendet. Dazu gehören chrome-extension://other_extension_id, wo other_extension_id nicht Die ID der Erweiterung, die die Anfrage verarbeitet, https://www.google.com/chrome und andere vertrauliche Daten die Hauptfunktionalität des Browsers anfordert. Synchrone XMLHttpRequests von Ihrer Erweiterung werden vor dem Blockieren von Event-Handlern verborgen, um Deadlocks zu vermeiden. Bei einigen der unterstützten Schemas unterstützt, ist die Anzahl der verfügbaren Ereignisse möglicherweise aufgrund der Art des das entsprechende Protokoll an. Für die Datei „Schema“ beispielsweise nur onBeforeRequest, onResponseStarted, onCompleted und onErrorOccurred werden möglicherweise gesendet.

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

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

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

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

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

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

Anfrage-IDs

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

Event-Listener registrieren

Um einen Event-Listener für eine Webanfrage zu registrieren, verwenden Sie eine Variante der üblichen addListener()-Funktion. Funktion. Zusätzlich zur Angabe einer Callback-Funktion müssen Sie ein Filterargument angeben. Sie können außerdem ein optionales zusätzliches Info-Argument festlegen.

Die drei Argumente für addListener() der Web Request API haben folgende Definitionen:

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

Hier ist ein Beispiel für das Überwachen des onBeforeRequest-Ereignisses:

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

Jeder addListener()-Aufruf akzeptiert eine obligatorische Callback-Funktion als erster Parameter. Dieser Callback wird ein Wörterbuch mit Informationen zur aktuellen URL-Anfrage übergeben. Die Die Informationen in diesem Wörterbuch hängen vom jeweiligen Ereignistyp sowie vom Inhalt der opt_extraInfoSpec

Wenn das optionale Array opt_extraInfoSpec den String 'blocking' enthält (nur zulässig für bestimmte Ereignisse), wird die Callback-Funktion synchron verarbeitet. Das bedeutet, dass die Anfrage bis die Rückruffunktion zurückkehrt. In diesem Fall kann der Callback eine Meldung zurückgeben, webRequest.BlockingResponse, der den weiteren Lebenszyklus der Anfrage bestimmt. Je nach im Kontext, ermöglicht diese Antwort das Abbrechen oder Weiterleiten einer Anfrage (onBeforeRequest), Abbrechen einer Anfrage oder Ändern von Headern (onBeforeSendHeaders, onHeadersReceived) und Abbrechen einer Anfrage oder Bereitstellen von Anmeldedaten zur Authentifizierung (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 generieren. asynchron programmiert.

Mit der filter von webRequest.RequestFilter können Anfragen eingeschränkt werden, für die Ereignisse sind in verschiedenen Dimensionen ausgelöst:

URLs
URL-Muster wie *://www.google.com/foo*bar.
Typen
Anfragetypen wie main_frame (ein Dokument, das für einen Frame auf oberster 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 Daten anzufordern. Informationen zur Anfrage. Wird nur verwendet, um detaillierte Informationen zu den Anfragedaten bereitzustellen wenn dies explizit angefordert wird.

Authentifizierung handhaben

Fügen Sie zur Verarbeitung von Anfragen für die HTTP-Authentifizierung den "webRequestAuthProvider" hinzu. Berechtigung für Ihre Manifestdatei:

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

Diese Berechtigung ist für eine durch Richtlinie installierte Erweiterung mit die Berechtigung "webRequestBlocking".

So stellen Sie Anmeldedaten synchron bereit:

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

So stellen Sie Anmeldedaten asynchron bereit:

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 mit Web Request API:

web_accessible_resources

Wenn eine Erweiterung WebRequest APIs verwendet, um eine Anfrage an eine öffentliche Ressource an eine Ressource weiterzuleiten, die nicht über das Internet zugänglich ist, wird sie blockiert und führt zu einem Fehler. Dies gilt auch dann, wenn die Ressource, auf die nicht über das Internet zugegriffen werden kann, der Weiterleitungserweiterung gehört. Zum Deklarieren von Ressourcen für die Verwendung mit deklarativeWebRequest APIs muss das Array "web_accessible_resources" deklariert und im Manifest eingefügt werden, wie hier dokumentiert.

Konfliktlösung

In der aktuellen Implementierung der Web Request API gilt eine Anfrage als abgebrochen, wenn Mindestens eine Erweiterung weist an, die Anfrage abzubrechen. Wenn eine Erweiterung eine Anfrage zurückzieht, werden alle Erweiterungen werden über ein onErrorOccurred-Ereignis benachrichtigt. Nur eine Erweiterung kann eine Weiterleitung -Header einzeln anzufordern oder zu ändern. Wird durch mehrere Erweiterungen versucht, die Anfrage zu ändern, wird der Parameter zuletzt installierte Erweiterung gewinnt. Alle anderen werden ignoriert. Eine Erweiterung wird nicht benachrichtigt, wenn Die Anweisung zum Ändern oder Weiterleiten wurde ignoriert.

Caching

Chrome verwendet zwei Caches: einen auf dem Datenträger und einen sehr schnellen In-Memory-Cache. Die Lebensdauer eines In-Memory-Cache ist an die Lebensdauer eines Renderingprozesses angehängt, was in etwa einem Tabulator entspricht. Anfragen, die aus dem speicherinternen Cache beantwortet werden, sind für die Web Request API nicht sichtbar. Wenn ein ändert sein Verhalten, zum Beispiel das Verhalten, gemäß dem Anfragen blockiert ist, wird dieses geänderte Verhalten bei einer einfachen Seitenaktualisierung möglicherweise nicht berücksichtigt. Um das Verhalten durchläuft wird, rufen Sie handlerBehaviorChanged() auf, um den speicherinternen Cache zu leeren. Tun Sie es aber nicht. häufig: Das Leeren des Cache ist ein sehr teurer Vorgang. Sie müssen nicht anrufen, handlerBehaviorChanged() nach dem Registrieren oder Aufheben der Registrierung eines Event-Listeners.

Zeitstempel

Das Attribut timestamp von Webanfrageereignissen ist nur intern konsistent. Wenn Sie ein Ereignis mit einem anderen vergleichen, erhalten Sie den richtigen Offset. zur aktuellen Zeit in der Erweiterung ändern (z. B. über (new Date()).getTime()). zu unerwarteten Ergebnissen führen.

Fehlerbehandlung

Wenn Sie versuchen, ein Ereignis mit ungültigen Argumenten zu registrieren, wird ein JavaScript-Fehler ausgegeben und wird der Event-Handler nicht registriert. Wenn ein Fehler ausgegeben wird, während ein Ereignis verarbeitet wird, oder wenn ein gibt der Event-Handler eine ungültige Blockierantwort zurück, wird im und der Handler wird für diese Anfrage ignoriert.

Beispiele

Das folgende Beispiel zeigt, 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 sowohl das "webRequest" als auch das Ereignis "webRequestBlocking" in der Manifestdatei.

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

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

Das folgende Beispiel zeigt, 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"]
);

Um die chrome.webRequest API auszuprobieren, Installieren Sie das webRequest-Beispiel aus chrome-extension-samples. zu erstellen.

Typen

BlockingResponse

Gibt einen Wert für Event-Handler zurück, die die Blockierung "blocking" haben extraInfoSpec angewendet. Ermöglicht dem Event-Handler, Netzwerkanfragen zu ändern.

Attribute

  • authCredentials

    Objekt optional

    Wird nur als Antwort auf das onAuthRequired-Ereignis verwendet. Wenn dieser Wert festgelegt ist, erfolgt die Anfrage mithilfe der angegebenen Anmeldedaten.

    • Passwort

      String

    • Nutzername

      String

  • Abbrechen

    Boolescher Wert optional

    Falls wahr, 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 dies festgelegt ist, wird die ursprüngliche Anfrage nicht gesendet/abgeschlossen und stattdessen an die angegebene URL weitergeleitet. Weiterleitungen zu Nicht-HTTP-Schemas wie data: sind zulässig. Bei Weiterleitungen, die von einer Weiterleitungsaktion initiiert werden, wird mit einer Ausnahme die ursprüngliche Anfragemethode der Weiterleitung verwendet: Wenn die Weiterleitung in der Phase onHeadersReceived eingeleitet wird, erfolgt die Weiterleitung mithilfe der GET-Methode. Weiterleitungen von URLs mit den Schemas ws:// und wss:// werden ignoriert.

  • requestHeaders

    HttpHeaders optional

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

  • responseHeaders

    HttpHeaders optional

    Wird nur als Antwort auf das onHeadersReceived-Ereignis verwendet. Wenn dieser Wert festgelegt ist, wird angenommen, 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 kann responseHeaders pro Anfrage ändern.

FormDataItem

Chrome 66 und höher

Enthält Daten, die mit Formulardaten übergeben werden. Bei einer URL-codierten Form werden sie als String gespeichert, wenn es sich bei den Daten um einen UTF-8-String handelt. Andernfalls wird sie als ArrayBuffer gespeichert. Bei Formulardaten ist das ArrayBuffer. Wenn „form-data“ für das Hochladen einer Datei steht, handelt es sich um einen String mit Dateiname, sofern der Dateiname angegeben ist.

Enum

ArrayBuffer

String

HttpHeaders

Ein Array von HTTP-Headern. Jeder Header wird als Wörterbuch dargestellt, das die Schlüssel name und entweder value oder binaryValue enthält.

Typ

object[]

Attribute

  • binaryValue

    number[] optional

    Wert des HTTP-Headers, wenn er nicht durch UTF-8 dargestellt werden kann, gespeichert als einzelne Bytewerte (0 bis 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

"Weiterleitung"

"request_headers"

&quot;response_headers&quot;

&quot;auth_credentials&quot;

OnAuthRequiredOptions

Chrome (ab Version 44)

Enum

&quot;responseHeaders&quot;
Gibt an, dass die Antwortheader in das Ereignis aufgenommen werden sollen.

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

&quot;asyncBlocking&quot;
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 (ab Version 44)

Enum

&quot;responseHeaders&quot;
Gibt an, dass die Antwortheader in das Ereignis aufgenommen werden sollen.

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

OnBeforeRequestOptions

Chrome (ab Version 44)

Enum

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

&quot;requestBody&quot;
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 (ab Version 44)

Enum

&quot;requestHeaders&quot;
Gibt an, dass der Anfrageheader in das Ereignis aufgenommen werden 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 (ab Version 44)

Enum

&quot;responseHeaders&quot;
Gibt an, dass die Antwortheader in das Ereignis aufgenommen werden 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 (ab Version 44)

Enum

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

&quot;responseHeaders&quot;
Gibt an, dass die Antwortheader in das Ereignis aufgenommen werden sollen.

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

OnResponseStartedOptions

Chrome (ab Version 44)

Enum

&quot;responseHeaders&quot;
Gibt an, dass die Antwortheader in das Ereignis aufgenommen werden sollen.

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

OnSendHeadersOptions

Chrome (ab Version 44)

Enum

&quot;requestHeaders&quot;
Gibt an, dass der Anfrageheader in das Ereignis aufgenommen werden 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

    Zahl optional

  • Typen

    ResourceType[] optional

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

  • URLs

    String[]

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

  • windowId

    Zahl optional

ResourceType

Chrome (ab Version 44)

Enum

"main_frame"
Gibt die Ressource als Hauptframe an.

"sub_frame"
Gibt die Ressource als Subframe an.

"stylesheet"
Gibt die Ressource als Stylesheet an.

&quot;script&quot;
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.

&quot;xmlhttprequest&quot;
Gibt die Ressource als XMLHttpRequest an.

"ping"
Gibt die Ressource als Ping an.

&quot;csp_report&quot;
Gibt die Ressource als CSP-Bericht (Content Security Policy) 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.

UploadData

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

Attribute

  • Byte

    Beliebige optionale

    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 Häufigkeit, mit der handlerBehaviorChanged pro 10-minütigem Intervall aufgerufen werden kann. handlerBehaviorChanged ist ein teurer Funktionsaufruf, der nicht oft aufgerufen werden sollte.

Wert

20

Methoden

handlerBehaviorChanged()

<ph type="x-smartling-placeholder"></ph> Versprechen
chrome.webRequest.handlerBehaviorChanged(
  callback?: function,
)

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 nicht so oft an.

Parameter

  • callback

    Funktion optional

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    () => void

Gibt Folgendes zurück:

  • Versprechen<void>

    Chrome 116 und höher

    Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.

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. Das kann bei Konflikten mit anderen Erweiterungen der Fall sein.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    (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 zuzuordnen.

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 Anmeldedaten zur Authentifizierung bereitstellen, er kann die Anfrage abbrechen und die Fehlerseite anzeigen oder er kann keine Aktion in Bezug auf die Identitätsbestätigung ausführen. Wenn falsche Nutzeranmeldedaten angegeben werden, kann dies für dieselbe Anfrage mehrmals aufgerufen werden. Im extraInfoSpec-Parameter darf nur einer der Modi 'blocking' oder 'asyncBlocking' angegeben werden.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

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

    • Details

      Objekt

      • Challenger

        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

        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 Subframes an, in dem die Anfrage erfolgt. Wenn das Dokument eines (Sub-)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 Frame-Typ, in dem die Anfrage aufgetreten ist.

      • Initiator

        String optional

        Chrome 63 und höher

        Der Ursprung, von dem die Anfrage initiiert wurde. Dies ändert sich durch Weiterleitungen nicht. Wenn dies ein undurchsichtiger Ursprung ist, wird der String „null“ verwendet werden.

      • 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, das zu diesem Frame gehört. Dieser Wert wird nicht festgelegt, wenn kein übergeordnetes Element vorhanden ist.

      • parentFrameId

        Zahl

        ID des Frames, der den Frame umschließt, der die Anfrage gesendet hat. Legen Sie diesen Wert auf -1 fest, 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 zuzuordnen.

      • 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 (ab Version 43)

        Vom Server zurückgegebener Standard-HTTP-Statuscode.

      • statusLine

        String

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

      • tabId

        Zahl

        Die ID des Tabs, auf dem die Anfrage ausgeführt wird. Legen Sie den Wert auf -1 fest, wenn sich die Anfrage nicht auf einen Tab bezieht.

      • 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 (ab Version 58)

      Der Parameter asyncCallback sieht so aus: <ph type="x-smartling-placeholder"></ph>

      (response: BlockingResponse) => void

    • Gibt zurück

      BlockingResponse | nicht definiert

      Wenn „blockieren“ in der Spalte "extraInfoSpec" Parameter enthält, 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: <ph type="x-smartling-placeholder"></ph>

    (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

        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 Subframes an, in dem die Anfrage erfolgt. Wenn das Dokument eines (Sub-)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 Frame-Typ, in dem die Anfrage aufgetreten ist.

      • 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. Dies ändert sich durch Weiterleitungen nicht. Wenn dies ein undurchsichtiger Ursprung ist, wird der String „null“ verwendet werden.

      • ip

        String optional

        Die Server-IP-Adresse, an die die Anfrage gesendet wurde. Es kann sich um eine literale IPv6-Adresse handeln.

      • method

        String

        Standard-HTTP-Methode.

      • parentDocumentId

        String optional

        Chrome 106 und höher

        Die UUID des übergeordneten Dokuments, das zu diesem Frame gehört. Dieser Wert wird nicht festgelegt, wenn kein übergeordnetes Element vorhanden ist.

      • parentFrameId

        Zahl

        ID des Frames, der den Frame umschließt, der die Anfrage gesendet hat. Legen Sie diesen Wert auf -1 fest, 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 zuzuordnen.

      • 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 die Meldung „HTTP/0.9 200 OK“ String für HTTP/0.9-Antworten (d.h. Antworten ohne Statuszeile) oder einen leeren String, wenn keine Header vorhanden sind.

      • tabId

        Zahl

        Die ID des Tabs, auf dem die Anfrage ausgeführt wird. Legen Sie den Wert auf -1 fest, wenn sich die Anfrage nicht auf einen Tab bezieht.

      • timeStamp

        Zahl

        Die Zeit, zu der 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 gleich eine Anfrage eingeht.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    (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

        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 Subframes an, in dem die Anfrage erfolgt. Wenn das Dokument eines (Sub-)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 Frame-Typ, in dem die Anfrage aufgetreten ist.

      • Initiator

        String optional

        Chrome 63 und höher

        Der Ursprung, von dem die Anfrage initiiert wurde. Dies ändert sich durch Weiterleitungen nicht. Wenn dies ein undurchsichtiger Ursprung ist, wird der String „null“ verwendet werden.

      • method

        String

        Standard-HTTP-Methode.

      • parentDocumentId

        String optional

        Chrome 106 und höher

        Die UUID des übergeordneten Dokuments, das zu diesem Frame gehört. Dieser Wert wird nicht festgelegt, wenn kein übergeordnetes Element vorhanden ist.

      • parentFrameId

        Zahl

        ID des Frames, der den Frame umschließt, der die Anfrage gesendet hat. Legen Sie diesen Wert auf -1 fest, wenn kein übergeordneter Frame vorhanden ist.

      • requestBody

        Objekt optional

        Enthält die HTTP-Anfragetextdaten. Wird nur angegeben, wenn extraInfoSpec „requestBody“ enthält.

        • Fehler

          String optional

          Fehler beim Abrufen der Anfragetextdaten.

        • formData

          Objekt optional

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

        • Roh

          UploadData[] optional

          Wenn die Anfragemethode PUT oder POST lautet und der Textkörper noch nicht in formData geparst wurde, sind die nicht geparsten Anfragetextelemente 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 zuzuordnen.

      • tabId

        Zahl

        Die ID des Tabs, auf dem die Anfrage ausgeführt wird. Legen Sie den Wert auf -1 fest, wenn sich die Anfrage nicht auf einen Tab bezieht.

      • 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 | nicht definiert

      Wenn „blockieren“ in der Spalte "extraInfoSpec" Parameter enthält, sollte der Ereignis-Listener ein Objekt dieses Typs zurückgeben.

  • Filter
  • extraInfoSpec

onBeforeSendHeaders

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

Wird vor dem Senden einer HTTP-Anfrage ausgelöst, 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: <ph type="x-smartling-placeholder"></ph>

    (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

        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 Subframes an, in dem die Anfrage erfolgt. Wenn das Dokument eines (Sub-)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 Frame-Typ, in dem die Anfrage aufgetreten ist.

      • Initiator

        String optional

        Chrome 63 und höher

        Der Ursprung, von dem die Anfrage initiiert wurde. Dies ändert sich durch Weiterleitungen nicht. Wenn dies ein undurchsichtiger Ursprung ist, wird der String „null“ verwendet werden.

      • method

        String

        Standard-HTTP-Methode.

      • parentDocumentId

        String optional

        Chrome 106 und höher

        Die UUID des übergeordneten Dokuments, das zu diesem Frame gehört. Dieser Wert wird nicht festgelegt, wenn kein übergeordnetes Element vorhanden ist.

      • parentFrameId

        Zahl

        ID des Frames, der den Frame umschließt, der die Anfrage gesendet hat. Legen Sie diesen Wert auf -1 fest, 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 zuzuordnen.

      • tabId

        Zahl

        Die ID des Tabs, auf dem die Anfrage ausgeführt wird. Legen Sie den Wert auf -1 fest, wenn sich die Anfrage nicht auf einen Tab bezieht.

      • 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 | nicht definiert

      Wenn „blockieren“ in der Spalte "extraInfoSpec" Parameter enthält, 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: <ph type="x-smartling-placeholder"></ph>

    (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

        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 Subframes an, in dem die Anfrage erfolgt. Wenn das Dokument eines (Sub-)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 Frame-Typ, in dem die Anfrage aufgetreten ist.

      • 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. Dies ändert sich durch Weiterleitungen nicht. Wenn dies ein undurchsichtiger Ursprung ist, wird der String „null“ verwendet werden.

      • ip

        String optional

        Die Server-IP-Adresse, an die die Anfrage gesendet wurde. Es kann sich um eine literale IPv6-Adresse handeln.

      • method

        String

        Standard-HTTP-Methode.

      • parentDocumentId

        String optional

        Chrome 106 und höher

        Die UUID des übergeordneten Dokuments, das zu diesem Frame gehört. Dieser Wert wird nicht festgelegt, wenn kein übergeordnetes Element vorhanden ist.

      • parentFrameId

        Zahl

        ID des Frames, der den Frame umschließt, der die Anfrage gesendet hat. Legen Sie diesen Wert auf -1 fest, 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 zuzuordnen.

      • 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 die Meldung „HTTP/0.9 200 OK“ String für HTTP/0.9-Antworten (d.h. Antworten ohne Statuszeile) oder einen leeren String, wenn keine Header vorhanden sind.

      • tabId

        Zahl

        Die ID des Tabs, auf dem die Anfrage ausgeführt wird. Legen Sie den Wert auf -1 fest, wenn sich die Anfrage nicht auf einen Tab bezieht.

      • timeStamp

        Zahl

        Die Zeit, zu der 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: <ph type="x-smartling-placeholder"></ph>

    (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 die Navigation eines Frames ist.

      • Chrome 106 und höher

        Der Lebenszyklus, in dem sich das Dokument befindet.

      • Fehler

        String

        Die Fehlerbeschreibung. Es ist nicht garantiert, dass dieser String abwärtskompatibel zwischen Releases ist. Sie dürfen den Inhalt nicht parsen und darauf reagieren.

      • frameId

        Zahl

        Der Wert 0 gibt an, dass die Anfrage im Hauptframe erfolgt. Ein positiver Wert gibt die ID eines Subframes an, in dem die Anfrage erfolgt. Wenn das Dokument eines (Sub-)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 Frame-Typ, in dem die Anfrage aufgetreten ist.

      • 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. Dies ändert sich durch Weiterleitungen nicht. Wenn dies ein undurchsichtiger Ursprung ist, wird der String „null“ verwendet werden.

      • ip

        String optional

        Die Server-IP-Adresse, an die die Anfrage gesendet wurde. Es kann sich um eine literale IPv6-Adresse handeln.

      • method

        String

        Standard-HTTP-Methode.

      • parentDocumentId

        String optional

        Chrome 106 und höher

        Die UUID des übergeordneten Dokuments, das zu diesem Frame gehört. Dieser Wert wird nicht festgelegt, wenn kein übergeordnetes Element vorhanden ist.

      • parentFrameId

        Zahl

        ID des Frames, der den Frame umschließt, der die Anfrage gesendet hat. Legen Sie diesen Wert auf -1 fest, 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 zuzuordnen.

      • tabId

        Zahl

        Die ID des Tabs, auf dem die Anfrage ausgeführt wird. Legen Sie den Wert auf -1 fest, wenn sich die Anfrage nicht auf einen Tab bezieht.

      • timeStamp

        Zahl

        Die Zeit, zu der 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 HTTP-Antwortheader einer Anfrage empfangen wurden.

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    (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

        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 Subframes an, in dem die Anfrage erfolgt. Wenn das Dokument eines (Sub-)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 Frame-Typ, in dem die Anfrage aufgetreten ist.

      • Initiator

        String optional

        Chrome 63 und höher

        Der Ursprung, von dem die Anfrage initiiert wurde. Dies ändert sich durch Weiterleitungen nicht. Wenn dies ein undurchsichtiger Ursprung ist, wird der String „null“ verwendet werden.

      • method

        String

        Standard-HTTP-Methode.

      • parentDocumentId

        String optional

        Chrome 106 und höher

        Die UUID des übergeordneten Dokuments, das zu diesem Frame gehört. Dieser Wert wird nicht festgelegt, wenn kein übergeordnetes Element vorhanden ist.

      • parentFrameId

        Zahl

        ID des Frames, der den Frame umschließt, der die Anfrage gesendet hat. Legen Sie diesen Wert auf -1 fest, 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 zuzuordnen.

      • responseHeaders

        HttpHeaders optional

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

      • statusCode

        Zahl

        Chrome (ab Version 43)

        Vom Server zurückgegebener Standard-HTTP-Statuscode.

      • statusLine

        String

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

      • tabId

        Zahl

        Die ID des Tabs, auf dem die Anfrage ausgeführt wird. Legen Sie den Wert auf -1 fest, wenn sich die Anfrage nicht auf einen Tab bezieht.

      • 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 | nicht definiert

      Wenn „blockieren“ in der Spalte "extraInfoSpec" Parameter enthält, 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: <ph type="x-smartling-placeholder"></ph>

    (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

        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 Subframes an, in dem die Anfrage erfolgt. Wenn das Dokument eines (Sub-)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 Frame-Typ, in dem die Anfrage aufgetreten ist.

      • 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. Dies ändert sich durch Weiterleitungen nicht. Wenn dies ein undurchsichtiger Ursprung ist, wird der String „null“ verwendet werden.

      • ip

        String optional

        Die Server-IP-Adresse, an die die Anfrage gesendet wurde. Es kann sich um eine literale IPv6-Adresse handeln.

      • method

        String

        Standard-HTTP-Methode.

      • parentDocumentId

        String optional

        Chrome 106 und höher

        Die UUID des übergeordneten Dokuments, das zu diesem Frame gehört. Dieser Wert wird nicht festgelegt, wenn kein übergeordnetes Element vorhanden ist.

      • parentFrameId

        Zahl

        ID des Frames, der den Frame umschließt, der die Anfrage gesendet hat. Legen Sie diesen Wert auf -1 fest, 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 zuzuordnen.

      • 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 die Meldung „HTTP/0.9 200 OK“ String für HTTP/0.9-Antworten (d.h. Antworten ohne Statuszeile) oder einen leeren String, wenn keine Header vorhanden sind.

      • tabId

        Zahl

        Die ID des Tabs, auf dem die Anfrage ausgeführt wird. Legen Sie den Wert auf -1 fest, wenn sich die Anfrage nicht auf einen Tab bezieht.

      • timeStamp

        Zahl

        Die Zeit, zu der 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 früherer onBeforeSendHeaders-Rückrufe sind sichtbar, wenn onSendHeaders ausgelöst wird).

Parameter

  • callback

    Funktion

    Der Parameter callback sieht so aus: <ph type="x-smartling-placeholder"></ph>

    (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

        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 Subframes an, in dem die Anfrage erfolgt. Wenn das Dokument eines (Sub-)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 Frame-Typ, in dem die Anfrage aufgetreten ist.

      • Initiator

        String optional

        Chrome 63 und höher

        Der Ursprung, von dem die Anfrage initiiert wurde. Dies ändert sich durch Weiterleitungen nicht. Wenn dies ein undurchsichtiger Ursprung ist, wird der String „null“ verwendet werden.

      • method

        String

        Standard-HTTP-Methode.

      • parentDocumentId

        String optional

        Chrome 106 und höher

        Die UUID des übergeordneten Dokuments, das zu diesem Frame gehört. Dieser Wert wird nicht festgelegt, wenn kein übergeordnetes Element vorhanden ist.

      • parentFrameId

        Zahl

        ID des Frames, der den Frame umschließt, der die Anfrage gesendet hat. Legen Sie diesen Wert auf -1 fest, 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 zuzuordnen.

      • tabId

        Zahl

        Die ID des Tabs, auf dem die Anfrage ausgeführt wird. Legen Sie den Wert auf -1 fest, wenn sich die Anfrage nicht auf einen Tab bezieht.

      • timeStamp

        Zahl

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

      • Wie die angeforderte Ressource verwendet wird.

      • URL

        String

  • Filter
  • extraInfoSpec