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:
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, undimage
(ein Bild auf einer Website). Weitere Informationen finden Sie unterwebRequest.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 Schemasws://
undwss://
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 kannresponseHeaders
pro Anfrage ändern.
FormDataItem
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
Enum
"Weiterleitung"
"request_headers"
"response_headers"
"auth_credentials"
OnAuthRequiredOptions
Enum
"responseHeaders"
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.
"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
Enum
"responseHeaders"
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
Enum
"blocking"
Gibt an, dass die Anfrage blockiert wird, bis die Callback-Funktion zurückgegeben wird.
"requestBody"
Gibt an, dass der Anfragetext im Ereignis enthalten sein soll.
"extraHeaders"
Gibt an, dass Header gegen Cross-Origin Resource Sharing (CORS) verstoßen können.
OnBeforeSendHeadersOptions
Enum
"requestHeaders"
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
Enum
"responseHeaders"
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
Wert
"extraHeaders"
OnHeadersReceivedOptions
Enum
"blocking"
Gibt an, dass die Anfrage blockiert wird, bis die Callback-Funktion zurückgegeben wird.
"responseHeaders"
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
Enum
"responseHeaders"
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
Enum
"requestHeaders"
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
Enum
"main_frame"
Gibt die Ressource als Hauptframe an.
"sub_frame"
Gibt die Ressource als Subframe 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 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()
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öherPromise-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.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
-
Aktion
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öherDie UUID des Dokuments, das die Anfrage stellt.
-
documentLifecycleChrome 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
istmain_frame
odersub_frame
), gibtframeId
die ID dieses Frames an, nicht die ID des äußeren Frames. Frame-IDs sind innerhalb eines Tabs eindeutig. -
frameTypeChrome 106 und höher
Der Frame-Typ, in dem die Anfrage aufgetreten ist.
-
Initiator
String optional
Chrome 63 und höherDer 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öherDie 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.
-
Typ
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
-
Antwort
-
-
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
OnAuthRequiredOptions[] optional
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öherDie UUID des Dokuments, das die Anfrage stellt.
-
documentLifecycleChrome 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
istmain_frame
odersub_frame
), gibtframeId
die ID dieses Frames an, nicht die ID des äußeren Frames. Frame-IDs sind innerhalb eines Tabs eindeutig. -
frameTypeChrome 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öherDer 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öherDie 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.
-
Typ
Wie die angeforderte Ressource verwendet wird.
-
URL
String
-
-
-
Filter
-
extraInfoSpec
OnBeforeRedirectOptions[] optional
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öherDie UUID des Dokuments, das die Anfrage stellt.
-
documentLifecycle
extensionTypes.DocumentLifecycle optional
Chrome 106 und höherDer 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
istmain_frame
odersub_frame
), gibtframeId
die ID dieses Frames an, nicht die ID des äußeren Frames. Frame-IDs sind innerhalb eines Tabs eindeutig. -
frameType
extensionTypes.FrameType optional
Chrome 106 und höherDer Frame-Typ, in dem die Anfrage aufgetreten ist.
-
Initiator
String optional
Chrome 63 und höherDer 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öherDie 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.
-
Typ
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
OnBeforeRequestOptions[] optional
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öherDie UUID des Dokuments, das die Anfrage stellt.
-
documentLifecycleChrome 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
istmain_frame
odersub_frame
), gibtframeId
die ID dieses Frames an, nicht die ID des äußeren Frames. Frame-IDs sind innerhalb eines Tabs eindeutig. -
frameTypeChrome 106 und höher
Der Frame-Typ, in dem die Anfrage aufgetreten ist.
-
Initiator
String optional
Chrome 63 und höherDer 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öherDie 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.
-
Typ
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
OnBeforeSendHeadersOptions[] optional
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öherDie UUID des Dokuments, das die Anfrage stellt.
-
documentLifecycleChrome 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
istmain_frame
odersub_frame
), gibtframeId
die ID dieses Frames an, nicht die ID des äußeren Frames. Frame-IDs sind innerhalb eines Tabs eindeutig. -
frameTypeChrome 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öherDer 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öherDie 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.
-
Typ
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öherDie UUID des Dokuments, das die Anfrage stellt. Dieser Wert ist nicht vorhanden, wenn die Anfrage die Navigation eines Frames ist.
-
documentLifecycleChrome 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
istmain_frame
odersub_frame
), gibtframeId
die ID dieses Frames an, nicht die ID des äußeren Frames. Frame-IDs sind innerhalb eines Tabs eindeutig. -
frameTypeChrome 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öherDer 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öherDie 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.
-
Typ
Wie die angeforderte Ressource verwendet wird.
-
URL
String
-
-
-
Filter
-
extraInfoSpec
OnErrorOccurredOptions[] optional
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öherDie UUID des Dokuments, das die Anfrage stellt.
-
documentLifecycleChrome 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
istmain_frame
odersub_frame
), gibtframeId
die ID dieses Frames an, nicht die ID des äußeren Frames. Frame-IDs sind innerhalb eines Tabs eindeutig. -
frameTypeChrome 106 und höher
Der Frame-Typ, in dem die Anfrage aufgetreten ist.
-
Initiator
String optional
Chrome 63 und höherDer 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öherDie 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.
-
Typ
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
OnHeadersReceivedOptions[] optional
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öherDie UUID des Dokuments, das die Anfrage stellt.
-
documentLifecycleChrome 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
istmain_frame
odersub_frame
), gibtframeId
die ID dieses Frames an, nicht die ID des äußeren Frames. Frame-IDs sind innerhalb eines Tabs eindeutig. -
frameTypeChrome 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öherDer 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öherDie 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.
-
Typ
Wie die angeforderte Ressource verwendet wird.
-
URL
String
-
-
-
Filter
-
extraInfoSpec
OnResponseStartedOptions[] optional
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öherDie UUID des Dokuments, das die Anfrage stellt.
-
documentLifecycleChrome 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
istmain_frame
odersub_frame
), gibtframeId
die ID dieses Frames an, nicht die ID des äußeren Frames. Frame-IDs sind innerhalb eines Tabs eindeutig. -
frameTypeChrome 106 und höher
Der Frame-Typ, in dem die Anfrage aufgetreten ist.
-
Initiator
String optional
Chrome 63 und höherDer 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öherDie 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.
-
Typ
Wie die angeforderte Ressource verwendet wird.
-
URL
String
-
-
-
Filter
-
extraInfoSpec
OnSendHeadersOptions[] optional