Beschrijving
Gebruik de chrome.webRequest API om verkeer te observeren en te analyseren, en om lopende verzoeken te onderscheppen, te blokkeren of te wijzigen.
Toestemmingen
webRequest U moet de machtiging "webRequest" in het extensiemanifest declareren om de webverzoek-API te kunnen gebruiken, samen met de benodigde hostmachtigingen . Om een subresourceverzoek te onderscheppen, moet de extensie toegang hebben tot zowel de aangevraagde URL als de initiator ervan. Bijvoorbeeld:
{
"name": "My extension",
...
"permissions": [
"webRequest"
],
"host_permissions": [
"*://*.google.com/*"
],
...
}
webRequestBlocking
Vereist voor het registreren van blokkerende gebeurtenishandlers. Vanaf Manifest V3 is dit alleen beschikbaar voor via beleid geïnstalleerde extensies.
webRequestAuthProvider
Het is verplicht om de onAuthRequired methode te gebruiken. Zie Verwerking van authenticatie .
Concepten en gebruik
Levenscyclus van verzoeken
De webverzoek-API definieert een reeks gebeurtenissen die de levenscyclus van een webverzoek volgen. U kunt deze gebeurtenissen gebruiken om het verkeer te observeren en te analyseren. Bepaalde synchrone gebeurtenissen stellen u in staat een verzoek te onderscheppen, te blokkeren of te wijzigen.
Hieronder wordt de levenscyclus van succesvolle verzoeken geïllustreerd, gevolgd door de definities van de gebeurtenissen:

-
onBeforeRequest(optioneel synchroon) - Wordt geactiveerd wanneer een verzoek op het punt staat plaats te vinden. Deze gebeurtenis wordt verzonden voordat er een TCP-verbinding tot stand komt en kan worden gebruikt om verzoeken te annuleren of om te leiden.
-
onBeforeSendHeaders(optioneel synchroon) - Deze gebeurtenis wordt geactiveerd wanneer een verzoek op het punt staat te worden uitgevoerd en de initiële headers zijn voorbereid. De gebeurtenis is bedoeld om extensies in staat te stellen verzoekheaders toe te voegen, te wijzigen en te verwijderen (*) . De
onBeforeSendHeadersgebeurtenis wordt doorgegeven aan alle abonnees, zodat verschillende abonnees kunnen proberen het verzoek te wijzigen; zie de sectie Implementatiedetails voor meer informatie over hoe dit wordt afgehandeld. Deze gebeurtenis kan worden gebruikt om het verzoek te annuleren. -
onSendHeaders - Deze gebeurtenis wordt geactiveerd nadat alle extensies de mogelijkheid hebben gehad om de aanvraagheaders aan te passen, en presenteert de definitieve (*) versie. De gebeurtenis wordt geactiveerd voordat de headers naar het netwerk worden verzonden. Deze gebeurtenis is informatief en wordt asynchroon verwerkt. Het staat niet toe om de aanvraag te wijzigen of te annuleren.
-
onHeadersReceived(optioneel synchroon) - Deze gebeurtenis wordt geactiveerd telkens wanneer een HTTP(S)-antwoordheader wordt ontvangen. Vanwege omleidingen en authenticatieverzoeken kan dit meerdere keren per verzoek gebeuren. Deze gebeurtenis is bedoeld om extensies in staat te stellen antwoordheaders, zoals inkomende Content-Type-headers, toe te voegen, te wijzigen en te verwijderen. De caching-richtlijnen worden verwerkt voordat deze gebeurtenis wordt geactiveerd, dus het wijzigen van headers zoals Cache-Control heeft geen invloed op de cache van de browser. Het stelt u ook in staat om het verzoek te annuleren of om te leiden.
-
onAuthRequired(optioneel synchroon) - Deze gebeurtenis wordt geactiveerd wanneer een verzoek authenticatie van de gebruiker vereist. Deze gebeurtenis kan synchroon worden afgehandeld om authenticatiegegevens te verstrekken. Houd er rekening mee dat extensies mogelijk ongeldige gegevens verstrekken. Zorg ervoor dat u geen oneindige lus veroorzaakt door herhaaldelijk ongeldige gegevens te verstrekken. Deze functie kan ook worden gebruikt om het verzoek te annuleren.
-
onBeforeRedirect - Deze gebeurtenis wordt geactiveerd wanneer een omleiding op het punt staat te worden uitgevoerd. Een omleiding kan worden geactiveerd door een HTTP-responsstatuscode of door een extensie. Deze gebeurtenis is informatief en wordt asynchroon verwerkt. U kunt het verzoek hiermee niet wijzigen of annuleren.
-
onResponseStarted - Deze gebeurtenis wordt geactiveerd wanneer de eerste byte van de responsbody is ontvangen. Voor HTTP-verzoeken betekent dit dat de statusregel en de responsheaders beschikbaar zijn. Deze gebeurtenis is informatief en wordt asynchroon verwerkt. Het staat niet toe om het verzoek te wijzigen of te annuleren.
-
onCompleted - Wordt geactiveerd wanneer een verzoek succesvol is verwerkt.
-
onErrorOccurred - Wordt geactiveerd wanneer een verzoek niet succesvol kon worden verwerkt.
De webverzoek-API garandeert dat voor elk verzoek ofwel onCompleted ofwel onErrorOccurred als laatste gebeurtenis wordt geactiveerd, met één uitzondering: als een verzoek wordt omgeleid naar een data:// URL, is onBeforeRedirect de laatst gerapporteerde gebeurtenis.
* Houd er rekening mee dat de webverzoek-API een abstractie van de netwerkstack aan de extensie presenteert. Intern kan één URL-verzoek worden opgesplitst in meerdere HTTP-verzoeken (bijvoorbeeld om afzonderlijke bytebereiken uit een groot bestand op te halen) of kan het worden afgehandeld door de netwerkstack zonder communicatie met het netwerk. Om deze reden geeft de API de uiteindelijke HTTP-headers die naar het netwerk worden verzonden niet weer. Alle headers die betrekking hebben op caching zijn bijvoorbeeld onzichtbaar voor de extensie.
De volgende headers worden momenteel niet doorgegeven aan de onBeforeSendHeaders -gebeurtenis. Het is niet gegarandeerd dat deze lijst volledig of stabiel is.
- Autorisatie
- Cache-Control
- Verbinding
- Inhoud-Lengte
- Gastheer
- Als-gewijzigd-sinds
- Als er geen overeenkomst is
- Als-bereik
- Gedeeltelijke gegevens
- Pragma
- Proxy-autorisatie
- Proxyverbinding
- Transfercodering
Vanaf Chrome 79 hebben wijzigingen in request headers invloed op Cross-Origin Resource Sharing (CORS)-controles. Als gewijzigde headers voor cross-origin-verzoeken niet aan de criteria voldoen, wordt een CORS-preflight verzonden om de server te vragen of dergelijke headers geaccepteerd kunnen worden. Als u headers daadwerkelijk wilt wijzigen op een manier die het CORS-protocol schendt, moet u 'extraHeaders' specificeren in opt_extraInfoSpec . Aan de andere kant werken wijzigingen in response headers niet om CORS-controles te omzeilen. Als u het CORS-protocol wilt omzeilen, moet u ook 'extraHeaders' specificeren voor de response-wijzigingen.
Vanaf Chrome 79 onderschept de webRequest API standaard geen CORS-preflightverzoeken en -reacties meer. Een CORS-preflight voor een URL is zichtbaar voor een extensie als er een listener is met 'extraHeaders' gespecificeerd in opt_extraInfoSpec voor de URL. onBeforeRequest kan vanaf Chrome 79 ook 'extraHeaders' accepteren.
Vanaf Chrome 79 wordt de volgende requestheader niet meer meegeleverd en kan deze niet worden gewijzigd of verwijderd zonder 'extraHeaders' in opt_extraInfoSpec te specificeren:
- Oorsprong
Vanaf Chrome 72 geldt dat als je reacties wilt wijzigen voordat Cross Origin Read Blocking (CORB) de reactie kan blokkeren, je 'extraHeaders' moet specificeren in opt_extraInfoSpec .
Vanaf Chrome 72 worden de volgende verzoekheaders niet meer meegeleverd en kunnen ze niet worden gewijzigd of verwijderd zonder 'extraHeaders' in opt_extraInfoSpec op te geven:
- Accept-Language
- Accept-Encoding
- Verwijzer
- Koekje
Vanaf Chrome 72 wordt de Set-Cookie response header niet meer meegeleverd en kan deze niet worden gewijzigd of verwijderd zonder 'extraHeaders' op te geven in opt_extraInfoSpec .
Vanaf Chrome 89 kan de X-Frame-Options antwoordheader niet effectief worden gewijzigd of verwijderd zonder 'extraHeaders' te specificeren in opt_extraInfoSpec .
De webRequest API toont alleen verzoeken die de extensie mag zien, op basis van de hostrechten . Bovendien zijn alleen de volgende schema's toegankelijk: http:// , https:// , ftp:// , file:// , ws:// (sinds Chrome 58), wss:// (sinds Chrome 58), urn: (sinds Chrome 91) of chrome-extension:// . Daarnaast worden zelfs bepaalde verzoeken met URL's die een van de bovenstaande schema's gebruiken, verborgen. Dit omvat chrome-extension://other_extension_id waarbij other_extension_id niet de ID is van de extensie die het verzoek moet afhandelen, https://www.google.com/chrome en andere gevoelige verzoeken die essentieel zijn voor de browserfunctionaliteit. Ook synchrone XMLHttpRequests van uw extensie worden verborgen voor blokkerende gebeurtenisafhandelaars om deadlocks te voorkomen. Houd er rekening mee dat voor sommige van de ondersteunde schema's de set beschikbare gebeurtenissen beperkt kan zijn vanwege de aard van het bijbehorende protocol. Bijvoorbeeld, voor het bestand: schema mogen alleen onBeforeRequest , onResponseStarted , onCompleted en onErrorOccurred worden verzonden.
Vanaf Chrome 58 ondersteunt de webRequest API het onderscheppen van de WebSocket-handshake. Omdat de handshake plaatsvindt via een HTTP-upgradeverzoek, past de flow ervan in het HTTP-georiënteerde webRequest-model. Houd er rekening mee dat de API het volgende niet onderschept :
- Individuele berichten verzonden via een bestaande WebSocket-verbinding.
- WebSocket-verbinding wordt verbroken.
Omleidingen worden niet ondersteund voor WebSocket-verzoeken.
Vanaf Chrome 72 kan een extensie een verzoek alleen onderscheppen als deze hostrechten heeft voor zowel de aangevraagde URL als de initiatiefnemer van het verzoek.
Vanaf Chrome 96 ondersteunt de webRequest API het onderscheppen van de WebTransport over HTTP/3-handshake. Omdat de handshake plaatsvindt via een HTTP CONNECT-verzoek, past de flow ervan in het HTTP-georiënteerde webRequest-model. Let op:
- Zodra de sessie tot stand is gebracht, kunnen extensies de sessie niet observeren of erin ingrijpen via de webRequest API.
- Het wijzigen van HTTP-verzoekheaders in
onBeforeSendHeaderswordt genegeerd. - Omleidingen en authenticatie worden niet ondersteund in WebTransport via HTTP/3.
Aanvraag-ID's
Elk verzoek wordt geïdentificeerd door een verzoek-ID. Deze ID is uniek binnen een browsersessie en de context van een extensie. De ID blijft constant gedurende de levenscyclus van een verzoek en kan worden gebruikt om gebeurtenissen voor hetzelfde verzoek te koppelen. Houd er rekening mee dat meerdere HTTP-verzoeken worden gekoppeld aan één webverzoek in geval van HTTP-omleiding of HTTP-authenticatie.
Registratie van luisteraars voor het evenement
Om een gebeurtenislistener voor een webverzoek te registreren, gebruikt u een variant op de gebruikelijke addListener() -functie . Naast het specificeren van een callbackfunctie moet u een filterargument opgeven, en u kunt optioneel een extra informatieargument toevoegen.
De drie argumenten voor de addListener() -methode van de webverzoek-API hebben de volgende definities:
var callback = function(details) {...};
var filter = {...};
var opt_extraInfoSpec = [...];
Hier is een voorbeeld van hoe je kunt luisteren naar de onBeforeRequest -gebeurtenis:
chrome.webRequest.onBeforeRequest.addListener(
callback, filter, opt_extraInfoSpec);
Elke aanroep addListener() vereist een verplichte callbackfunctie als eerste parameter. Aan deze callbackfunctie wordt een dictionary doorgegeven met informatie over het huidige URL-verzoek. De informatie in deze dictionary is afhankelijk van het specifieke gebeurtenistype en de inhoud van opt_extraInfoSpec .
Als de optionele array opt_extraInfoSpec de tekenreeks 'blocking' bevat (alleen toegestaan voor specifieke gebeurtenissen), wordt de callbackfunctie synchroon afgehandeld. Dit betekent dat het verzoek wordt geblokkeerd totdat de callbackfunctie een resultaat retourneert. In dit geval kan de callback een webRequest.BlockingResponse retourneren die de verdere levenscyclus van het verzoek bepaalt. Afhankelijk van de context maakt dit antwoord het mogelijk om een verzoek te annuleren of door te sturen ( onBeforeRequest ), een verzoek te annuleren of headers te wijzigen ( onBeforeSendHeaders , onHeadersReceived ) en een verzoek te annuleren of authenticatiegegevens te verstrekken ( onAuthRequired ).
Als de optionele array opt_extraInfoSpec in plaats daarvan de tekenreeks 'asyncBlocking' bevat (alleen toegestaan voor onAuthRequired ), kan de extensie de webRequest.BlockingResponse asynchroon genereren.
Met het webRequest.RequestFilter filter kunt u de verzoeken beperken waarvoor gebeurtenissen in verschillende dimensies worden geactiveerd:
- URL's
- URL-patronen zoals
*://www.google.com/foo*bar. - Soorten
- Verzoektypen zoals
main_frame(een document dat wordt geladen voor een frame op het hoogste niveau),sub_frame(een document dat wordt geladen voor een ingebed frame) enimage(een afbeelding op een website). ZiewebRequest.RequestFilter. - Tab-ID
- De identificatiecode voor één tabblad.
- Venster-ID
- De identificatiecode voor een venster.
Afhankelijk van het type gebeurtenis kunt u in opt_extraInfoSpec tekenreeksen opgeven om aanvullende informatie over het verzoek op te vragen. Dit wordt gebruikt om gedetailleerde informatie over de gegevens van het verzoek te verstrekken, maar alleen als hier expliciet om wordt gevraagd.
Authenticatie afhandelen
Om HTTP-authenticatieverzoeken af te handelen, voegt u de machtiging "webRequestAuthProvider" toe aan uw manifestbestand:
{
"permissions": [
"webRequest",
"webRequestAuthProvider"
]
}
Houd er rekening mee dat deze toestemming niet vereist is voor een beleidsgeïnstalleerde extensie met de toestemming "webRequestBlocking" .
Om inloggegevens synchroon te verstrekken:
chrome.webRequest.onAuthRequired.addListener((details) => {
return {
authCredentials: {
username: 'guest',
password: 'guest'
}
};
},
{ urls: ['https://httpbin.org/basic-auth/guest/guest'] },
['blocking']
);
Om inloggegevens asynchroon te verstrekken:
chrome.webRequest.onAuthRequired.addListener((details, callback) => {
callback({
authCredentials: {
username: 'guest',
password: 'guest'
}
});
},
{ urls: ['https://httpbin.org/basic-auth/guest/guest'] },
['asyncBlocking']
);
Implementatiedetails
Bij het ontwikkelen van een extensie die gebruikmaakt van de webverzoek-API zijn er een aantal implementatiedetails die belangrijk zijn om te begrijpen:
web_toegankelijke_bronnen
Wanneer een extensie de webRequest API gebruikt om een verzoek voor een openbare bron door te sturen naar een bron die niet via het web toegankelijk is, wordt dit geblokkeerd en resulteert dit in een fout. Dit geldt zelfs als de niet-webtoegankelijke bron eigendom is van de doorverwijzende extensie. Om bronnen te declareren voor gebruik met declarativeWebRequest API's, moet de array "web_accessible_resources" worden gedeclareerd en gevuld in het manifest, zoals hier gedocumenteerd.
Conflictresolutie
In de huidige implementatie van de webverzoek-API wordt een verzoek als geannuleerd beschouwd als ten minste één extensie de instructie geeft om het verzoek te annuleren. Als een extensie een verzoek annuleert, worden alle extensies hiervan op de hoogte gesteld via een onErrorOccurred gebeurtenis. Slechts één extensie kan tegelijkertijd een verzoek doorsturen of een header wijzigen. Als meer dan één extensie probeert het verzoek te wijzigen, krijgt de laatst geïnstalleerde extensie voorrang en worden alle andere genegeerd. Een extensie wordt niet op de hoogte gesteld als de instructie om het verzoek te wijzigen of door te sturen is genegeerd.
Caching
Chrome gebruikt twee caches: een cache op de schijf en een zeer snelle cache in het geheugen. De levensduur van een cache in het geheugen is gekoppeld aan de levensduur van een renderproces, wat ongeveer overeenkomt met een tabblad. Verzoeken die vanuit de cache in het geheugen worden beantwoord, zijn onzichtbaar voor de webverzoek-API. Als een verzoekhandler zijn gedrag wijzigt (bijvoorbeeld het gedrag waarmee verzoeken worden geblokkeerd), kan een simpele paginaverversing dit gewijzigde gedrag mogelijk niet respecteren. Om ervoor te zorgen dat de gedragswijziging wordt doorgevoerd, roept u handlerBehaviorChanged() aan om de cache in het geheugen te legen. Doe dit echter niet te vaak; het legen van de cache is een zeer kostbare bewerking. U hoeft handlerBehaviorChanged() niet aan te roepen na het registreren of deregistreren van een gebeurtenislistener.
Tijdstempels
De timestamp eigenschap van webverzoekgebeurtenissen is alleen intern consistent. Het vergelijken van de ene gebeurtenis met de andere geeft de juiste tijdsverschuiving ertussen, maar het vergelijken ervan met de huidige tijd binnen de extensie (bijvoorbeeld via (new Date()).getTime() ) kan onverwachte resultaten opleveren.
Foutafhandeling
Als u een gebeurtenis probeert te registreren met ongeldige argumenten, wordt er een JavaScript-fout gegenereerd en wordt de gebeurtenishandler niet geregistreerd. Als er een fout optreedt tijdens de verwerking van een gebeurtenis of als een gebeurtenishandler een ongeldig blokkerend antwoord retourneert, wordt er een foutmelding in de console van uw extensie weergegeven en wordt de handler voor dat verzoek genegeerd.
Voorbeelden
Het volgende voorbeeld laat zien hoe je alle verzoeken aan www.evil.com kunt blokkeren:
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
return {cancel: details.url.indexOf("://www.evil.com/") != -1};
},
{urls: ["<all_urls>"]},
["blocking"]
);
Omdat deze functie gebruikmaakt van een blokkerende gebeurtenisafhandelaar, zijn zowel de machtigingen "webRequest" als "webRequestBlocking" in het manifestbestand vereist.
Het volgende voorbeeld bereikt hetzelfde doel op een efficiëntere manier, omdat verzoeken die niet gericht zijn aan www.evil.com niet aan de extensie hoeven te worden doorgegeven:
chrome.webRequest.onBeforeRequest.addListener(
function(details) { return {cancel: true}; },
{urls: ["*://www.evil.com/*"]},
["blocking"]
);
Het volgende voorbeeld laat zien hoe u de User-Agent-header uit alle verzoeken kunt verwijderen:
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"]
);
Om de chrome.webRequest API uit te proberen, installeer je de webRequest-voorbeeldapplicatie uit de chrome-extension-samples repository.
Soorten
BlockingResponse
Retourneert een waarde voor gebeurtenisafhandelaars waarop de 'blokkerende' extraInfoSpec is toegepast. Hiermee kan de gebeurtenisafhandelaar netwerkverzoeken wijzigen.
Eigenschappen
- authenticatiegegevens
object optioneel
Wordt alleen gebruikt als reactie op de onAuthRequired-gebeurtenis. Indien ingesteld, wordt het verzoek gedaan met de opgegeven inloggegevens.
- wachtwoord
snaar
- gebruikersnaam
snaar
- annuleren
boolean optioneel
Als dit waar is, wordt het verzoek geannuleerd. Dit voorkomt dat het verzoek wordt verzonden. Dit kan worden gebruikt als reactie op de gebeurtenissen onBeforeRequest, onBeforeSendHeaders, onHeadersReceived en onAuthRequired.
- redirectUrl
string optioneel
Wordt alleen gebruikt als reactie op de gebeurtenissen onBeforeRequest en onHeadersReceived. Indien ingesteld, wordt voorkomen dat het oorspronkelijke verzoek wordt verzonden/voltooid en wordt het in plaats daarvan doorgestuurd naar de opgegeven URL. Doorverwijzingen naar niet-HTTP-schema's zoals
data:zijn toegestaan. Doorverwijzingen die worden geïnitieerd door een redirect-actie gebruiken de oorspronkelijke verzoekmethode voor de doorverwijzing, met één uitzondering: als de doorverwijzing wordt geïnitieerd in de onHeadersReceived-fase, wordt de doorverwijzing uitgevoerd met de GET-methode. Doorverwijzingen van URL's met de schema'sws://enwss://worden genegeerd . - verzoekHeaders
HttpHeaders optioneel
Wordt alleen gebruikt als reactie op de onBeforeSendHeaders-gebeurtenis. Indien ingesteld, wordt het verzoek in plaats daarvan met deze verzoekheaders verzonden.
- antwoordHeaders
HttpHeaders optioneel
Wordt alleen gebruikt als reactie op de onHeadersReceived-gebeurtenis. Indien ingesteld, wordt aangenomen dat de server in plaats daarvan met deze antwoordheaders heeft gereageerd. Retourneer alleen
responseHeadersals u de headers daadwerkelijk wilt wijzigen om het aantal conflicten te beperken (slechts één extensie magresponseHeadersper verzoek wijzigen).
FormDataItem
Bevat gegevens die via het formulier worden doorgegeven. Voor URL-gecodeerde formulieren worden deze gegevens als tekenreeks opgeslagen als de gegevens een UTF-8-tekenreeks zijn, en anders als ArrayBuffer. Voor formuliergegevens is het een ArrayBuffer. Als de formuliergegevens een geüpload bestand vertegenwoordigen, is het een tekenreeks met de bestandsnaam, indien deze is opgegeven.
Enum
ArrayBuffer snaar
HttpHeaders
Een array van HTTP-headers. Elke header wordt weergegeven als een dictionary met de sleutels ' name en ofwel value of binaryValue '.
Type
voorwerp[]
Eigenschappen
- binaire waarde
nummer[] optioneel
De waarde van de HTTP-header, indien deze niet kan worden weergegeven door UTF-8, wordt opgeslagen als afzonderlijke byte-waarden (0..255).
- naam
snaar
Naam van de HTTP-header.
- waarde
string optioneel
De waarde van de HTTP-header, indien deze kan worden weergegeven door UTF-8.
IgnoredActionType
Enum
"doorverwijzen" "verzoekheaders" "response_headers" "auth_credentials"
OnAuthRequiredOptions
Enum
"responseHeaders" "blokkeren" "asyncBlocking" "extraHeaders"
Geeft aan dat de responseheaders in de gebeurtenis moeten worden opgenomen.
Geeft aan dat het verzoek wordt geblokkeerd totdat de callbackfunctie een resultaat retourneert.
Geeft aan dat de callbackfunctie asynchroon wordt afgehandeld.
Geeft aan dat headers het Cross-Origin Resource Sharing (CORS)-principe kunnen schenden.
OnBeforeRedirectOptions
Enum
"responseHeaders" "extraHeaders"
Geeft aan dat de responseheaders in de gebeurtenis moeten worden opgenomen.
Geeft aan dat headers het Cross-Origin Resource Sharing (CORS)-principe kunnen schenden.
OnBeforeRequestOptions
Enum
"blokkeren" "verzoeklichaam" "extraHeaders"
Geeft aan dat het verzoek wordt geblokkeerd totdat de callbackfunctie een resultaat retourneert.
Geeft aan dat de aanvraagbody in de gebeurtenis moet worden opgenomen.
Geeft aan dat headers het Cross-Origin Resource Sharing (CORS)-principe kunnen schenden.
OnBeforeSendHeadersOptions
Enum
"verzoekHeaders" "blokkeren" "extraHeaders"
Geeft aan dat de aanvraagheader in de gebeurtenis moet worden opgenomen.
Geeft aan dat het verzoek wordt geblokkeerd totdat de callbackfunctie een resultaat retourneert.
Geeft aan dat headers het Cross-Origin Resource Sharing (CORS)-principe kunnen schenden.
OnCompletedOptions
Enum
"responseHeaders" "extraHeaders"
Geeft aan dat de responseheaders in de gebeurtenis moeten worden opgenomen.
Geeft aan dat headers het Cross-Origin Resource Sharing (CORS)-principe kunnen schenden.
OnErrorOccurredOptions
Waarde
"extraHeaders"
OnHeadersReceivedOptions
Enum
"blokkeren" "responseHeaders" "extraHeaders" "beveiligingsinfo" "securityInfoRawDer"
Geeft aan dat het verzoek wordt geblokkeerd totdat de callbackfunctie een resultaat retourneert.
Geeft aan dat de responseheaders in de gebeurtenis moeten worden opgenomen.
Geeft aan dat headers het Cross-Origin Resource Sharing (CORS)-principe kunnen schenden.
Geeft aan dat de SecurityInfo in de gebeurtenis moet worden opgenomen.
Geeft aan dat de SecurityInfo met de onbewerkte bytes van certificaten in de gebeurtenis moet worden opgenomen.
OnResponseStartedOptions
Enum
"responseHeaders" "extraHeaders"
Geeft aan dat de responseheaders in de gebeurtenis moeten worden opgenomen.
Geeft aan dat headers het Cross-Origin Resource Sharing (CORS)-principe kunnen schenden.
OnSendHeadersOptions
Enum
"verzoekHeaders" "extraHeaders"
Geeft aan dat de aanvraagheader in de gebeurtenis moet worden opgenomen.
Geeft aan dat headers het Cross-Origin Resource Sharing (CORS)-principe kunnen schenden.
RequestFilter
Een object dat filters beschrijft die moeten worden toegepast op webRequest-gebeurtenissen.
Eigenschappen
- tabId
nummer optioneel
- typen
ResourceType [] optioneel
Een lijst met verzoektypen. Verzoeken die niet aan een van de typen voldoen, worden gefilterd.
- URL's
snaar[]
Een lijst met URL's of URL-patronen. Verzoeken die niet overeenkomen met een van de URL's worden gefilterd.
- venster-ID
nummer optioneel
ResourceType
Enum
"hoofdframe" "sub_frame" "stijlpagina" "script" "afbeelding" "lettertype" "voorwerp" "xmlhttprequest" "ping" "csp_rapport" "media" "websocket" "webbundel" "ander"
Specificeert de bron als het hoofdframe.
Specificeert de bron als een subframe.
Specificeert de bron als een stylesheet.
Specificeert de bron als een script.
Specificeert de bron als een afbeelding.
Specificeert de bron als een lettertype.
Specificeert de bron als een object.
Specificeert de bron als een XMLHttpRequest.
Specificeert de bron als een ping.
Specificeert de bron als een Content Security Policy (CSP)-rapport.
Specificeert de bron als een mediaobject.
Specificeert de bron als een WebSocket.
Specificeert de bron als een WebBundle.
Specificeert de bron als een type dat niet is opgenomen in de lijst met typen.
SecurityInfo
Eigenschappen
- certificaten
voorwerp[]
Een lijst met certificaten
- vingerafdruk
voorwerp
Vingerafdrukken van het certificaat.
- sha256
snaar
SHA256-vingerafdruk van het certificaat.
- rawDER
ArrayBuffer optioneel
Ruwe bytes van het DER-gecodeerde servercertificaat
- staat
snaar
Status van de verbinding. Beveiligd, onbeveiligd of verbroken.
UploadData
Bevat gegevens die zijn geüpload in een URL-verzoek.
Eigenschappen
- bytes
eventuele optionele
Een ArrayBuffer met een kopie van de gegevens.
- bestand
string optioneel
Een tekenreeks met het pad en de naam van het bestand.
Eigenschappen
MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES
Het maximale aantal keren dat handlerBehaviorChanged per aaneengesloten interval van 10 minuten kan worden aangeroepen. handlerBehaviorChanged is een kostbare functieaanroep die niet vaak zou moeten worden uitgevoerd.
Waarde
20
Methoden
handlerBehaviorChanged()
chrome.webRequest.handlerBehaviorChanged(): Promise<void>
Deze functie moet worden aangeroepen wanneer het gedrag van de webRequest-handlers is gewijzigd om onjuiste afhandeling als gevolg van caching te voorkomen. Deze functieaanroep is kostbaar. Roep hem niet vaak aan.
Retourneert
Promise<void>
Chrome 116+
Evenementen
onActionIgnored
chrome.webRequest.onActionIgnored.addListener(
callback: function,
)
Deze uitzondering wordt geactiveerd wanneer een door een extensie voorgestelde wijziging van een netwerkverzoek wordt genegeerd. Dit gebeurt in geval van conflicten met andere extensies.
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(details: object) => void
- details
voorwerp
- actie
De voorgestelde actie werd genegeerd.
- verzoek-ID
snaar
Het ID van het verzoek. Verzoek-ID's zijn uniek binnen een browsersessie. Daardoor kunnen ze worden gebruikt om verschillende gebeurtenissen van hetzelfde verzoek aan elkaar te koppelen.
onAuthRequired
chrome.webRequest.onAuthRequired.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnAuthRequiredOptions[],
)
Deze functie wordt geactiveerd wanneer een authenticatiefout wordt ontvangen. De listener heeft drie opties: authenticatiegegevens verstrekken, het verzoek annuleren en de foutpagina weergeven, of geen actie ondernemen. Als er onjuiste gebruikersgegevens worden verstrekt, kan deze functie meerdere keren voor hetzelfde verzoek worden aangeroepen. Let op: in de parameter extraInfoSpec hoeft slechts één van de modi 'blocking' of 'asyncBlocking' te worden gespecificeerd.
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(details: object, asyncCallback?: function) => BlockingResponse | undefined
- details
voorwerp
- uitdager
voorwerp
De server die om authenticatie verzoekt.
- gastheer
snaar
- haven
nummer
- documentId
string optioneel
Chrome 106+De UUID van het document dat het verzoek indient.
- documentLevenscyclusChrome 106+
De levenscyclus waarin het document zich bevindt.
- frameId
nummer
De waarde 0 geeft aan dat het verzoek plaatsvindt in het hoofdvenster; een positieve waarde geeft de ID aan van een subvenster waarin het verzoek plaatsvindt. Als het document van een (sub)venster wordt geladen (
typeismain_frameofsub_frame), geeftframeIdde ID van dit venster aan, niet de ID van het buitenste venster. Venster-ID's zijn uniek binnen een tabblad. - frameTypeChrome 106+
Het type frame waarin het verzoek plaatsvond.
- initiatiefnemer
string optioneel
Chrome 63+De oorsprong waar het verzoek vandaan kwam. Deze verandert niet door omleidingen. Als dit een ondoorzichtige oorsprong is, wordt de tekenreeks 'null' gebruikt.
- isProxy
booleaans
Waar voor Proxy-Authenticatie, onwaar voor WWW-Authenticatie.
- methode
snaar
Standaard HTTP-methode.
- parentDocumentId
string optioneel
Chrome 106+De UUID van het bovenliggende document waartoe dit frame behoort. Deze wordt niet ingesteld als er geen bovenliggend document is.
- parentFrameId
nummer
ID van het frame dat het frame omsluit dat het verzoek heeft verzonden. Stel in op -1 als er geen ouderframe bestaat.
- rijk
string optioneel
Het authenticatiedomein dat door de server wordt aangeboden, indien aanwezig.
- verzoek-ID
snaar
Het ID van het verzoek. Verzoek-ID's zijn uniek binnen een browsersessie. Daardoor kunnen ze worden gebruikt om verschillende gebeurtenissen van hetzelfde verzoek aan elkaar te koppelen.
- antwoordHeaders
HttpHeaders optioneel
De HTTP-antwoordheaders die samen met dit antwoord zijn ontvangen.
- schema
snaar
Het authenticatieschema, bijvoorbeeld Basic of Digest.
- statusCode
nummer
Chrome 43+Standaard HTTP-statuscode die door de server wordt geretourneerd.
- statusLine
snaar
De HTTP-statusregel van het antwoord of de tekenreeks 'HTTP/0.9 200 OK' voor HTTP/0.9-antwoorden (d.w.z. antwoorden zonder statusregel) of een lege tekenreeks als er geen headers zijn.
- tabId
nummer
De ID van het tabblad waarop het verzoek plaatsvindt. Stel deze in op -1 als het verzoek niet aan een tabblad is gekoppeld.
- tijdstempel
nummer
Het tijdstip waarop dit signaal wordt geactiveerd, in milliseconden sinds het begin van het tijdvak.
- type
Hoe de aangevraagde bron zal worden gebruikt.
- URL
snaar
- asyncCallback
functie optioneel
Chrome 58+De parameter
asyncCallbackziet er als volgt uit:(response: BlockingResponse) => void
- antwoord
- retourneert
BlockingResponse | undefined
Als "blocking" is gespecificeerd in de parameter "extraInfoSpec", moet de gebeurtenislistener een object van dit type retourneren.
- filter
- extraInfoSpec
OnAuthRequiredOptions [] optioneel
onBeforeRedirect
chrome.webRequest.onBeforeRedirect.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeRedirectOptions[],
)
Wordt geactiveerd wanneer een door de server geïnitieerde omleiding op het punt staat plaats te vinden.
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(details: object) => void
- details
voorwerp
- documentId
string optioneel
Chrome 106+De UUID van het document dat het verzoek indient.
- documentLevenscyclusChrome 106+
De levenscyclus waarin het document zich bevindt.
- frameId
nummer
De waarde 0 geeft aan dat het verzoek plaatsvindt in het hoofdvenster; een positieve waarde geeft de ID aan van een subvenster waarin het verzoek plaatsvindt. Als het document van een (sub)venster wordt geladen (
typeismain_frameofsub_frame), geeftframeIdde ID van dit venster aan, niet de ID van het buitenste venster. Venster-ID's zijn uniek binnen een tabblad. - frameTypeChrome 106+
Het type frame waarin het verzoek plaatsvond.
- vanuit cache
booleaans
Geeft aan of dit antwoord uit de schijfcache is opgehaald.
- initiatiefnemer
string optioneel
Chrome 63+De oorsprong waar het verzoek vandaan kwam. Deze verandert niet door omleidingen. Als dit een ondoorzichtige oorsprong is, wordt de tekenreeks 'null' gebruikt.
- ip
string optioneel
Het IP-adres van de server waarnaar het verzoek daadwerkelijk is verzonden. Houd er rekening mee dat dit een letterlijk IPv6-adres kan zijn.
- methode
snaar
Standaard HTTP-methode.
- parentDocumentId
string optioneel
Chrome 106+De UUID van het bovenliggende document waartoe dit frame behoort. Deze wordt niet ingesteld als er geen bovenliggend document is.
- parentFrameId
nummer
ID van het frame dat het frame omsluit dat het verzoek heeft verzonden. Stel in op -1 als er geen ouderframe bestaat.
- redirectUrl
snaar
De nieuwe URL.
- verzoek-ID
snaar
Het ID van het verzoek. Verzoek-ID's zijn uniek binnen een browsersessie. Daardoor kunnen ze worden gebruikt om verschillende gebeurtenissen van hetzelfde verzoek aan elkaar te koppelen.
- antwoordHeaders
HttpHeaders optioneel
De HTTP-antwoordheaders die samen met deze omleiding zijn ontvangen.
- statusCode
nummer
Standaard HTTP-statuscode die door de server wordt geretourneerd.
- statusLine
snaar
De HTTP-statusregel van het antwoord of de tekenreeks 'HTTP/0.9 200 OK' voor HTTP/0.9-antwoorden (d.w.z. antwoorden zonder statusregel) of een lege tekenreeks als er geen headers zijn.
- tabId
nummer
De ID van het tabblad waarop het verzoek plaatsvindt. Stel deze in op -1 als het verzoek niet aan een tabblad is gekoppeld.
- tijdstempel
nummer
Het tijdstip waarop dit signaal wordt geactiveerd, in milliseconden sinds het begin van het tijdvak.
- type
Hoe de aangevraagde bron zal worden gebruikt.
- URL
snaar
- filter
- extraInfoSpec
OnBeforeRedirectOptions [] optioneel
onBeforeRequest
chrome.webRequest.onBeforeRequest.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeRequestOptions[],
)
Wordt geactiveerd wanneer een verzoek op het punt staat plaats te vinden.
Parameters
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(details: object) => BlockingResponse | undefined
- details
voorwerp
- documentId
string optioneel
Chrome 106+De UUID van het document dat het verzoek indient.
- documentLevenscyclus
extensionTypes.DocumentLifecycle optioneel
Chrome 106+De levenscyclus waarin het document zich bevindt.
- frameId
nummer
De waarde 0 geeft aan dat het verzoek plaatsvindt in het hoofdvenster; een positieve waarde geeft de ID aan van een subvenster waarin het verzoek plaatsvindt. Als het document van een (sub)venster wordt geladen (
typeismain_frameofsub_frame), geeftframeIdde ID van dit venster aan, niet de ID van het buitenste venster. Venster-ID's zijn uniek binnen een tabblad. - frameType
extensionTypes.FrameType optioneel
Chrome 106+Het type frame waarin het verzoek plaatsvond.
- initiatiefnemer
string optioneel
Chrome 63+De oorsprong waar het verzoek vandaan kwam. Deze verandert niet door omleidingen. Als dit een ondoorzichtige oorsprong is, wordt de tekenreeks 'null' gebruikt.
- methode
snaar
Standaard HTTP-methode.
- parentDocumentId
string optioneel
Chrome 106+De UUID van het bovenliggende document waartoe dit frame behoort. Deze wordt niet ingesteld als er geen bovenliggend document is.
- parentFrameId
nummer
ID van het frame dat het frame omsluit dat het verzoek heeft verzonden. Stel in op -1 als er geen ouderframe bestaat.
- verzoekBody
object optioneel
Bevat de gegevens van de HTTP-requestbody. Wordt alleen verstrekt als extraInfoSpec 'requestBody' bevat.
- fout
string optioneel
Fouten bij het ophalen van gegevens uit de request body.
- formuliergegevens
object optioneel
Als de verzoekmethode POST is en de body een reeks sleutel-waardeparen bevat die gecodeerd zijn in UTF8, ofwel als multipart/form-data of als application/x-www-form-urlencoded, dan is dit woordenboek aanwezig en bevat het voor elke sleutel een lijst met alle waarden die bij die sleutel horen. Als de gegevens van een ander mediatype zijn of als ze onjuist zijn opgemaakt, is het woordenboek niet aanwezig. Een voorbeeld van een waarde in dit woordenboek is {'key': ['value1', 'value2']}.
- rauw
UploadData [] optioneel
Als de verzoekmethode PUT of POST is en de body nog niet is verwerkt in formData, dan worden de niet-verwerkte elementen van de verzoekbody in deze array opgenomen.
- verzoek-ID
snaar
Het ID van het verzoek. Verzoek-ID's zijn uniek binnen een browsersessie. Daardoor kunnen ze worden gebruikt om verschillende gebeurtenissen van hetzelfde verzoek aan elkaar te koppelen.
- tabId
nummer
De ID van het tabblad waarop het verzoek plaatsvindt. Stel deze in op -1 als het verzoek niet aan een tabblad is gekoppeld.
- tijdstempel
nummer
Het tijdstip waarop dit signaal wordt geactiveerd, in milliseconden sinds het begin van het tijdvak.
- type
Hoe de aangevraagde bron zal worden gebruikt.
- URL
snaar
- retourneert
BlockingResponse | undefined
Als "blocking" is gespecificeerd in de parameter "extraInfoSpec", moet de gebeurtenislistener een object van dit type retourneren.
- filter
- extraInfoSpec
OnBeforeRequestOptions [] optioneel
onBeforeSendHeaders
chrome.webRequest.onBeforeSendHeaders.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeSendHeadersOptions[],
)
Fired before sending an HTTP request, once the request headers are available. This may occur after a TCP connection is made to the server, but before any HTTP data is sent.
Parameters
- terugbelverzoek
functie
The
callbackparameter looks like:(details: object) => BlockingResponse | undefined
- details
voorwerp
- documentId
string optional
Chrome 106+The UUID of the document making the request.
- documentLifecycleChrome 106+
The lifecycle the document is in.
- frameId
nummer
The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (
typeismain_frameorsub_frame),frameIdindicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab. - frameTypeChrome 106+
The type of frame the request occurred in.
- initiatiefnemer
string optional
Chrome 63+The origin where the request was initiated. This does not change through redirects. If this is an opaque origin, the string 'null' will be used.
- methode
snaar
Standard HTTP method.
- parentDocumentId
string optional
Chrome 106+The UUID of the parent document owning this frame. This is not set if there is no parent.
- parentFrameId
nummer
ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists.
- requestHeaders
HttpHeaders optional
The HTTP request headers that are going to be sent out with this request.
- verzoek-ID
snaar
The ID of the request. Request IDs are unique within a browser session. As a result, they could be used to relate different events of the same request.
- tabId
nummer
The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab.
- timeStamp
nummer
The time when this signal is triggered, in milliseconds since the epoch.
- type
How the requested resource will be used.
- URL
snaar
- retourneert
BlockingResponse | undefined
If "blocking" is specified in the "extraInfoSpec" parameter, the event listener should return an object of this type.
- filter
- extraInfoSpec
OnBeforeSendHeadersOptions [] optional
onCompleted
chrome.webRequest.onCompleted.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnCompletedOptions[],
)
Fired when a request is completed.
Parameters
- terugbelverzoek
functie
The
callbackparameter looks like:(details: object) => void
- details
voorwerp
- documentId
string optional
Chrome 106+The UUID of the document making the request.
- documentLifecycleChrome 106+
The lifecycle the document is in.
- frameId
nummer
The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (
typeismain_frameorsub_frame),frameIdindicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab. - frameTypeChrome 106+
The type of frame the request occurred in.
- fromCache
booleaans
Indicates if this response was fetched from disk cache.
- initiatiefnemer
string optional
Chrome 63+The origin where the request was initiated. This does not change through redirects. If this is an opaque origin, the string 'null' will be used.
- ip
string optional
The server IP address that the request was actually sent to. Note that it may be a literal IPv6 address.
- methode
snaar
Standard HTTP method.
- parentDocumentId
string optional
Chrome 106+The UUID of the parent document owning this frame. This is not set if there is no parent.
- parentFrameId
nummer
ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists.
- verzoek-ID
snaar
The ID of the request. Request IDs are unique within a browser session. As a result, they could be used to relate different events of the same request.
- responseHeaders
HttpHeaders optional
The HTTP response headers that were received along with this response.
- statusCode
nummer
Standard HTTP status code returned by the server.
- statusLine
snaar
HTTP status line of the response or the 'HTTP/0.9 200 OK' string for HTTP/0.9 responses (ie, responses that lack a status line) or an empty string if there are no headers.
- tabId
nummer
The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab.
- timeStamp
nummer
The time when this signal is triggered, in milliseconds since the epoch.
- type
How the requested resource will be used.
- URL
snaar
- filter
- extraInfoSpec
OnCompletedOptions [] optional
onErrorOccurred
chrome.webRequest.onErrorOccurred.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnErrorOccurredOptions[],
)
Fired when an error occurs.
Parameters
- terugbelverzoek
functie
The
callbackparameter looks like:(details: object) => void
- details
voorwerp
- documentId
string optional
Chrome 106+The UUID of the document making the request. This value is not present if the request is a navigation of a frame.
- documentLifecycleChrome 106+
The lifecycle the document is in.
- fout
snaar
The error description. This string is not guaranteed to remain backwards compatible between releases. You must not parse and act based upon its content.
- frameId
nummer
The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (
typeismain_frameorsub_frame),frameIdindicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab. - frameTypeChrome 106+
The type of frame the request occurred in.
- fromCache
booleaans
Indicates if this response was fetched from disk cache.
- initiatiefnemer
string optional
Chrome 63+The origin where the request was initiated. This does not change through redirects. If this is an opaque origin, the string 'null' will be used.
- ip
string optional
The server IP address that the request was actually sent to. Note that it may be a literal IPv6 address.
- methode
snaar
Standard HTTP method.
- parentDocumentId
string optional
Chrome 106+The UUID of the parent document owning this frame. This is not set if there is no parent.
- parentFrameId
nummer
ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists.
- verzoek-ID
snaar
The ID of the request. Request IDs are unique within a browser session. As a result, they could be used to relate different events of the same request.
- tabId
nummer
The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab.
- timeStamp
nummer
The time when this signal is triggered, in milliseconds since the epoch.
- type
How the requested resource will be used.
- URL
snaar
- filter
- extraInfoSpec
OnErrorOccurredOptions [] optional
onHeadersReceived
chrome.webRequest.onHeadersReceived.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnHeadersReceivedOptions[],
)
Fired when HTTP response headers of a request have been received.
Parameters
- terugbelverzoek
functie
The
callbackparameter looks like:(details: object) => BlockingResponse | undefined
- details
voorwerp
- documentId
string optional
Chrome 106+The UUID of the document making the request.
- documentLifecycleChrome 106+
The lifecycle the document is in.
- frameId
nummer
The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (
typeismain_frameorsub_frame),frameIdindicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab. - frameTypeChrome 106+
The type of frame the request occurred in.
- initiatiefnemer
string optional
Chrome 63+The origin where the request was initiated. This does not change through redirects. If this is an opaque origin, the string 'null' will be used.
- methode
snaar
Standard HTTP method.
- parentDocumentId
string optional
Chrome 106+The UUID of the parent document owning this frame. This is not set if there is no parent.
- parentFrameId
nummer
ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists.
- verzoek-ID
snaar
The ID of the request. Request IDs are unique within a browser session. As a result, they could be used to relate different events of the same request.
- responseHeaders
HttpHeaders optional
The HTTP response headers that have been received with this response.
- securityInfo
SecurityInfo optional
In behandelingInformation about the TLS/QUIC connection used for the underlying connection. Only provided if
securityInfois specified in theextraInfoSpecparameter. - statusCode
nummer
Chrome 43+Standard HTTP status code returned by the server.
- statusLine
snaar
HTTP status line of the response or the 'HTTP/0.9 200 OK' string for HTTP/0.9 responses (ie, responses that lack a status line).
- tabId
nummer
The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab.
- timeStamp
nummer
The time when this signal is triggered, in milliseconds since the epoch.
- type
How the requested resource will be used.
- URL
snaar
- retourneert
BlockingResponse | undefined
If "blocking" is specified in the "extraInfoSpec" parameter, the event listener should return an object of this type.
- filter
- extraInfoSpec
OnHeadersReceivedOptions [] optional
onResponseStarted
chrome.webRequest.onResponseStarted.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnResponseStartedOptions[],
)
Fired when the first byte of the response body is received. For HTTP requests, this means that the status line and response headers are available.
Parameters
- terugbelverzoek
functie
The
callbackparameter looks like:(details: object) => void
- details
voorwerp
- documentId
string optional
Chrome 106+The UUID of the document making the request.
- documentLifecycleChrome 106+
The lifecycle the document is in.
- frameId
nummer
The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (
typeismain_frameorsub_frame),frameIdindicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab. - frameTypeChrome 106+
The type of frame the request occurred in.
- fromCache
booleaans
Indicates if this response was fetched from disk cache.
- initiatiefnemer
string optional
Chrome 63+The origin where the request was initiated. This does not change through redirects. If this is an opaque origin, the string 'null' will be used.
- ip
string optional
The server IP address that the request was actually sent to. Note that it may be a literal IPv6 address.
- methode
snaar
Standard HTTP method.
- parentDocumentId
string optional
Chrome 106+The UUID of the parent document owning this frame. This is not set if there is no parent.
- parentFrameId
nummer
ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists.
- verzoek-ID
snaar
The ID of the request. Request IDs are unique within a browser session. As a result, they could be used to relate different events of the same request.
- responseHeaders
HttpHeaders optional
The HTTP response headers that were received along with this response.
- statusCode
nummer
Standard HTTP status code returned by the server.
- statusLine
snaar
HTTP status line of the response or the 'HTTP/0.9 200 OK' string for HTTP/0.9 responses (ie, responses that lack a status line) or an empty string if there are no headers.
- tabId
nummer
The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab.
- timeStamp
nummer
The time when this signal is triggered, in milliseconds since the epoch.
- type
How the requested resource will be used.
- URL
snaar
- filter
- extraInfoSpec
OnResponseStartedOptions [] optional
onSendHeaders
chrome.webRequest.onSendHeaders.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnSendHeadersOptions[],
)
Fired just before a request is going to be sent to the server (modifications of previous onBeforeSendHeaders callbacks are visible by the time onSendHeaders is fired).
Parameters
- terugbelverzoek
functie
The
callbackparameter looks like:(details: object) => void
- details
voorwerp
- documentId
string optional
Chrome 106+The UUID of the document making the request.
- documentLifecycleChrome 106+
The lifecycle the document is in.
- frameId
nummer
The value 0 indicates that the request happens in the main frame; a positive value indicates the ID of a subframe in which the request happens. If the document of a (sub-)frame is loaded (
typeismain_frameorsub_frame),frameIdindicates the ID of this frame, not the ID of the outer frame. Frame IDs are unique within a tab. - frameTypeChrome 106+
The type of frame the request occurred in.
- initiatiefnemer
string optional
Chrome 63+The origin where the request was initiated. This does not change through redirects. If this is an opaque origin, the string 'null' will be used.
- methode
snaar
Standard HTTP method.
- parentDocumentId
string optional
Chrome 106+The UUID of the parent document owning this frame. This is not set if there is no parent.
- parentFrameId
nummer
ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists.
- requestHeaders
HttpHeaders optional
The HTTP request headers that have been sent out with this request.
- verzoek-ID
snaar
The ID of the request. Request IDs are unique within a browser session. As a result, they could be used to relate different events of the same request.
- tabId
nummer
The ID of the tab in which the request takes place. Set to -1 if the request isn't related to a tab.
- timeStamp
nummer
The time when this signal is triggered, in milliseconds since the epoch.
- type
How the requested resource will be used.
- URL
snaar
- filter
- extraInfoSpec
OnSendHeadersOptions [] optional