Beschrijving
Gebruik de chrome.webRequest
API om verkeer te observeren en analyseren en om verzoeken tijdens de vlucht te onderscheppen, blokkeren of wijzigen.
Machtigingen
webRequest
U moet de machtiging "webRequest"
in het extensiemanifest declareren om de webaanvraag-API te gebruiken, samen met de benodigde hostmachtigingen . Om een subresourceaanvraag te onderscheppen, moet de extensie toegang hebben tot zowel de aangevraagde URL als de initiator. Bijvoorbeeld:
{
"name": "My extension",
...
"permissions": [
"webRequest"
],
"host_permissions": [
"*://*.google.com/*"
],
...
}
webRequestBlocking
Vereist om blokkerende gebeurtenishandlers te registreren. Vanaf Manifest V3 is dit alleen beschikbaar voor extensies die via beleid zijn geïnstalleerd.
webRequestAuthProvider
Vereist om de onAuthRequired
-methode te gebruiken. Zie Authenticatie verwerken .
Begrippen en gebruik
Levenscyclus van verzoeken
De webaanvraag-API definieert een reeks gebeurtenissen die de levenscyclus van een webaanvraag volgen. U kunt deze gebeurtenissen gebruiken om verkeer te observeren en te analyseren. Bepaalde synchrone gebeurtenissen stellen u in staat een aanvraag te onderscheppen, blokkeren of wijzigen.
De levenscyclus van succesvolle aanvragen wordt hier geïllustreerd, gevolgd door gebeurtenisdefinities:
-
onBeforeRequest
(optioneel synchroon) - Wordt geactiveerd wanneer een verzoek op het punt staat te worden uitgevoerd. Deze gebeurtenis wordt verzonden voordat er een TCP-verbinding tot stand is gebracht en kan worden gebruikt om verzoeken te annuleren of om te leiden.
-
onBeforeSendHeaders
(optioneel synchroon) - Wordt geactiveerd wanneer een verzoek op het punt staat plaats te vinden en de initiële headers zijn voorbereid. Deze gebeurtenis is bedoeld om extensies in staat te stellen verzoekheaders toe te voegen, te wijzigen en te verwijderen (*) . De gebeurtenis
onBeforeSendHeaders
wordt doorgegeven aan alle abonnees, waardoor 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
- Wordt geactiveerd nadat alle extensies de aanvraagheaders hebben kunnen wijzigen 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 is niet mogelijk om de aanvraag te wijzigen of te annuleren.
-
onHeadersReceived
(optioneel synchroon) - Wordt geactiveerd telkens wanneer een HTTP(S)-responsheader wordt ontvangen. Vanwege omleidingen en authenticatieverzoeken kan dit meerdere keren per verzoek gebeuren. Deze gebeurtenis is bedoeld om extensies in staat te stellen responsheaders, zoals binnenkomende Content-Type-headers, toe te voegen, te wijzigen en te verwijderen. De cacherichtlijnen worden verwerkt voordat deze gebeurtenis wordt geactiveerd, dus het wijzigen van headers zoals Cache-Control heeft geen invloed op de cache van de browser. U kunt hiermee ook het verzoek annuleren of omleiden.
-
onAuthRequired
(optioneel synchroon) - Wordt geactiveerd wanneer een aanvraag authenticatie van de gebruiker vereist. Deze gebeurtenis kan synchroon worden verwerkt om authenticatiegegevens te verstrekken. Houd er rekening mee dat extensies ongeldige gegevens kunnen verstrekken. Zorg ervoor dat u niet in een oneindige lus terechtkomt door herhaaldelijk ongeldige gegevens in te voeren. Dit kan ook worden gebruikt om de aanvraag te annuleren.
-
onBeforeRedirect
- Wordt geactiveerd wanneer een omleiding op het punt staat te worden uitgevoerd. Een omleiding kan worden geactiveerd door een HTTP-responscode of door een extensie. Deze gebeurtenis is informatief en wordt asynchroon verwerkt. U kunt de aanvraag hiermee niet wijzigen of annuleren.
-
onResponseStarted
- Wordt geactiveerd wanneer de eerste byte van de antwoordtekst is ontvangen. Voor HTTP-aanvragen betekent dit dat de statusregel en de antwoordheaders beschikbaar zijn. Deze gebeurtenis is informatief en wordt asynchroon verwerkt. Het is niet mogelijk om de aanvraag te wijzigen of te annuleren.
-
onCompleted
- Wordt geactiveerd wanneer een aanvraag succesvol is verwerkt.
-
onErrorOccurred
- Wordt geactiveerd wanneer een aanvraag niet succesvol kon worden verwerkt.
De webaanvraag-API garandeert dat voor elke aanvraag onCompleted
of onErrorOccurred
als laatste gebeurtenis wordt geactiveerd, met één uitzondering: als een aanvraag wordt omgeleid naar een data://
-URL, is onBeforeRedirect
de laatst gerapporteerde gebeurtenis.
* Houd er rekening mee dat de webrequest-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 door de netwerkstack worden afgehandeld zonder met het netwerk te communiceren. Om deze reden verstrekt de API niet de uiteindelijke HTTP-headers die naar het netwerk worden verzonden. Zo zijn alle headers die gerelateerd zijn aan caching onzichtbaar voor de extensie.
De volgende headers worden momenteel niet aan de gebeurtenis onBeforeSendHeaders
verstrekt . Deze lijst is niet gegarandeerd compleet of stabiel.
- Autorisatie
- Cache-Control
- Verbinding
- Inhoudslengte
- Gastheer
- Als-gewijzigd-sinds
- Als-geen-overeenkomst
- Als-bereik
- Gedeeltelijke gegevens
- Pragma
- Proxy-autorisatie
- Proxy-verbinding
- Overdrachtscodering
Vanaf Chrome 79 hebben wijzigingen in de aanvraagheader invloed op CORS-controles (Cross-Origin Resource Sharing). Als gewijzigde headers voor cross-origin-aanvragen niet aan de criteria voldoen, wordt een CORS-preflight verzonden om de server te vragen of dergelijke headers geaccepteerd kunnen worden. Als u headers echt moet wijzigen op een manier die het CORS-protocol schendt, moet u 'extraHeaders'
opgeven in opt_extraInfoSpec
. Aanpassingen in de responsheader werken daarentegen niet om CORS-controles te omzeilen. Als u het CORS-protocol wilt omzeilen, moet u ook 'extraHeaders'
opgeven voor de responswijzigingen.
Vanaf Chrome 79 onderschept de webRequest API standaard geen CORS-preflightverzoeken en -reacties. Een CORS-preflight voor een aanvraag-URL is zichtbaar voor een extensie als er een listener met 'extraHeaders'
is opgegeven in opt_extraInfoSpec
voor de aanvraag-URL. onBeforeRequest
kan ook 'extraHeaders'
uit Chrome 79 accepteren.
Vanaf Chrome 79 wordt de volgende aanvraagheader niet meegegeven en kan niet worden gewijzigd of verwijderd zonder 'extraHeaders'
op te geven in opt_extraInfoSpec
:
- Oorsprong
Vanaf Chrome 72 moet u 'extraHeaders'
opgeven in opt_extraInfoSpec
als u reacties moet aanpassen voordat Cross Origin Read Blocking (CORB) de reactie kan blokkeren.
Vanaf Chrome 72 worden de volgende aanvraagheaders niet meegestuurd en kunnen niet worden gewijzigd of verwijderd zonder 'extraHeaders'
op te geven in opt_extraInfoSpec
:
- Accept-Taal
- Accept-Encoding
- Verwijzer
- Koekje
Vanaf Chrome 72 wordt de Set-Cookie
responsheader niet meer meegeleverd . Deze kan niet worden gewijzigd of verwijderd zonder 'extraHeaders'
op te geven in opt_extraInfoSpec
.
Vanaf Chrome 89 kan de X-Frame-Options
responsheader niet effectief worden gewijzigd of verwijderd zonder 'extraHeaders'
op te geven in opt_extraInfoSpec
.
De webRequest API maakt alleen verzoeken openbaar waarvoor de extensie toestemming heeft om te zien, gegeven de hostmachtigingen . 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://
. Bovendien worden zelfs bepaalde verzoeken met URL's die een van de bovenstaande schema's gebruiken, verborgen. Deze omvatten chrome-extension://other_extension_id
waarbij other_extension_id
niet de ID is van de extensie om het verzoek af te handelen, 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 gebeurtenishandlers 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. Voor het bestand: scheme mogen bijvoorbeeld alleen onBeforeRequest
, onResponseStarted
, onCompleted
en onErrorOccurred
worden verzonden.
Vanaf Chrome 58 ondersteunt de webRequest API het onderscheppen van WebSocket-handshake-aanvragen. Omdat de handshake wordt uitgevoerd via een HTTP-upgradeverzoek, past de stroom ervan in het HTTP-georiënteerde webRequest-model. Merk op dat de API geen onderschept :
- Individuele berichten worden verzonden via een bestaande WebSocket-verbinding.
- WebSocket-verbinding sluiten.
Omleidingen worden niet ondersteund voor WebSocket-verzoeken.
Vanaf Chrome 72 kan een extensie een verzoek alleen onderscheppen als deze hostmachtigingen heeft voor zowel de opgevraagde URL als de initiator van het verzoek.
Vanaf Chrome 96 ondersteunt de webRequest API het onderscheppen van de WebTransport over HTTP/3 handshake-aanvraag. Omdat de handshake wordt uitgevoerd via een HTTP CONNECT-aanvraag, 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 meer observeren of erin ingrijpen via de webRequest API.
- Het wijzigen van HTTP-aanvraagheaders in
onBeforeSendHeaders
wordt genegeerd. - Omleidingen en authenticaties worden niet ondersteund in WebTransport over 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. Deze blijft constant gedurende de levenscyclus van een verzoek en kan worden gebruikt om gebeurtenissen voor hetzelfde verzoek te matchen. Houd er rekening mee dat meerdere HTTP-verzoeken worden gekoppeld aan één webverzoek in het geval van HTTP-omleiding of HTTP-authenticatie.
Gebeurtenisluisteraars registreren
Om een eventlistener voor een webaanvraag te registreren, gebruikt u een variatie op de gebruikelijke addListener()
functie . Naast het specificeren van een callback-functie moet u een filterargument opgeven en kunt u een optioneel extra info-argument opgeven.
De drie argumenten voor de webaanvraag-API addListener()
hebben de volgende definities:
var callback = function(details) {...};
var filter = {...};
var opt_extraInfoSpec = [...];
Hier is een voorbeeld van het luisteren naar de onBeforeRequest
-gebeurtenis:
chrome.webRequest.onBeforeRequest.addListener(
callback, filter, opt_extraInfoSpec);
Elke addListener()
-aanroep neemt een verplichte callbackfunctie als eerste parameter. Aan deze callbackfunctie wordt een woordenboek doorgegeven met informatie over de huidige URL-aanvraag. De informatie in dit woordenboek is afhankelijk van het specifieke gebeurtenistype en de inhoud van opt_extraInfoSpec
.
Als de optionele opt_extraInfoSpec
array de tekenreeks 'blocking'
bevat (alleen toegestaan voor specifieke gebeurtenissen), wordt de callbackfunctie synchroon verwerkt. Dit betekent dat de aanvraag wordt geblokkeerd totdat de callbackfunctie retourneert. In dit geval kan de callbackfunctie een webRequest.BlockingResponse
retourneren die de verdere levenscyclus van de aanvraag bepaalt. Afhankelijk van de context maakt deze respons het mogelijk om een aanvraag te annuleren of om te leiden ( onBeforeRequest
), een aanvraag te annuleren of headers te wijzigen ( onBeforeSendHeaders
, onHeadersReceived
), en een aanvraag te annuleren of authenticatiegegevens te verstrekken ( onAuthRequired
).
Als de optionele opt_extraInfoSpec
-array in plaats daarvan de tekenreeks 'asyncBlocking'
bevat (alleen toegestaan voor onAuthRequired
), kan de extensie de webRequest.BlockingResponse
asynchroon genereren.
Met het filter
webRequest.RequestFilter
kunt u de aanvragen beperken waarvoor gebeurtenissen in verschillende dimensies worden geactiveerd:
- URL's
- URL-patronen zoals
*://www.google.com/foo*bar
. - Typen
- Aanvraagtypen zoals
main_frame
(een document dat wordt geladen voor een frame op het hoogste niveau),sub_frame
(een document dat wordt geladen voor een ingesloten frame) enimage
(een afbeelding op een website). ZiewebRequest.RequestFilter
. - Tabblad-ID
- De identificatie voor één tabblad.
- Venster-ID
- De identificatie voor een venster.
Afhankelijk van het gebeurtenistype kunt u strings in opt_extraInfoSpec
opgeven om aanvullende informatie over de aanvraag op te vragen. Dit wordt alleen gebruikt om gedetailleerde informatie over de gegevens van de aanvraag te verstrekken als hier expliciet om wordt gevraagd.
Authenticatie afhandelen
Om verzoeken voor HTTP-authenticatie te verwerken, voegt u de machtiging "webRequestAuthProvider"
toe aan uw manifestbestand:
{
"permissions": [
"webRequest",
"webRequestAuthProvider"
]
}
Houd er rekening mee dat deze machtiging niet vereist is voor een geïnstalleerde extensie met de machtiging "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 webaanvraag-API zijn er een aantal implementatiedetails van belang om te begrijpen:
webtoegankelijke_bronnen
Wanneer een extensie webRequest API's gebruikt om een openbare resourceaanvraag om te leiden naar een resource die niet webtoegankelijk is, wordt deze geblokkeerd en resulteert dit in een fout. Het bovenstaande geldt zelfs als de resource die niet webtoegankelijk is, eigendom is van de omleidende extensie. Om resources te declareren voor gebruik met declaratieve WebRequest API's, moet de array "web_accessible_resources"
worden gedeclareerd en ingevuld in het manifest zoals hier beschreven.
Conflictbemiddeling
In de huidige implementatie van de webaanvraag-API wordt een aanvraag als geannuleerd beschouwd als ten minste één extensie de opdracht geeft om de aanvraag te annuleren. Als een extensie een aanvraag annuleert, worden alle extensies hiervan op de hoogte gesteld door een onErrorOccurred
-gebeurtenis. Slechts één extensie kan een aanvraag omleiden of een header wijzigen. Als meer dan één extensie probeert de aanvraag te wijzigen, wint de meest recent geïnstalleerde extensie en worden alle andere genegeerd. Een extensie ontvangt geen melding als de instructie om de aanvraag te wijzigen of om te leiden is genegeerd.
Cachen
Chrome maakt gebruik van twee caches: een cache op 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 webaanvraag-API. Als een aanvraaghandler zijn gedrag verandert (bijvoorbeeld het gedrag op basis waarvan verzoeken worden geblokkeerd), wordt dit gewijzigde gedrag mogelijk niet gerespecteerd bij een eenvoudige paginavernieuwing. 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 afmelden van een event listener.
Tijdstempels
De timestamp
van webaanvraaggebeurtenissen is alleen gegarandeerd intern consistent. Het vergelijken van de ene gebeurtenis met de andere geeft u de juiste offset ertussen, maar het vergelijken met de huidige tijd binnen de extensie (bijvoorbeeld via (new Date()).getTime()
) kan onverwachte resultaten opleveren.
Foutafhandeling
Als u probeert een gebeurtenis te registreren met ongeldige argumenten, wordt er een JavaScript-fout gegenereerd en wordt de gebeurtenishandler niet geregistreerd. Als er een fout wordt gegenereerd tijdens de verwerking van een gebeurtenis of als een gebeurtenishandler een ongeldige blokkerende respons retourneert, wordt er een foutmelding geregistreerd in de console van uw extensie en wordt de handler voor die aanvraag genegeerd.
Voorbeelden
Het volgende voorbeeld illustreert hoe u alle verzoeken naar 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 een blokkerende gebeurtenis-handler gebruikt, zijn zowel de "webRequest"
als de machtiging "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 illustreert hoe u de User-Agent-header uit alle aanvragen verwijdert:
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, installeert u het webRequest-voorbeeld uit de chrome-extension-samples repository.
Typen
BlockingResponse
Retourneert een waarde voor event handlers waarop de 'blokkerende' extraInfoSpec is toegepast. Hiermee kan de event handler netwerkverzoeken wijzigen.
Eigenschappen
- authCredentials
object optioneel
Wordt alleen gebruikt als reactie op de gebeurtenis onAuthRequired. Indien ingesteld, wordt de aanvraag gedaan met de opgegeven referenties.
- wachtwoord
snaar
- gebruikersnaam
snaar
- annuleren
boolean optioneel
Indien true, wordt de aanvraag geannuleerd. Dit voorkomt dat de aanvraag 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 het oorspronkelijke verzoek niet verzonden/voltooid en wordt het in plaats daarvan omgeleid naar de opgegeven URL. Omleidingen naar niet-HTTP-schema's zoals
data:
zijn toegestaan. Omleidingen die worden geïnitieerd door een omleidingsactie, gebruiken de oorspronkelijke aanvraagmethode voor de omleiding, met één uitzondering: als de omleiding wordt geïnitieerd in de fase onHeadersReceived, wordt de omleiding uitgevoerd met behulp van de GET-methode. Omleidingen van URL's met de schema'sws://
enwss://
worden genegeerd . - aanvraagheaders
HttpHeaders optioneel
Wordt alleen gebruikt als reactie op de gebeurtenis onBeforeSendHeaders. Indien ingesteld, wordt de aanvraag met deze aanvraagheaders gedaan.
- reactieHeaders
HttpHeaders optioneel
Wordt alleen gebruikt als reactie op de gebeurtenis onHeadersReceived. Indien ingesteld, wordt ervan uitgegaan dat de server met deze responsheaders heeft gereageerd. Retourneer
responseHeaders
alleen als u de headers daadwerkelijk wilt wijzigen om het aantal conflicten te beperken (slechts één extensie magresponseHeaders
per aanvraag wijzigen).
FormDataItem
Bevat gegevens die binnen formuliergegevens worden doorgegeven. Voor een URL-gecodeerd formulier wordt dit opgeslagen als een string als de gegevens een UTF-8-string zijn en anders als een ArrayBuffer. Voor formuliergegevens is dit een ArrayBuffer. Als formuliergegevens een bestand uploaden, is het een string met bestandsnaam, mits de bestandsnaam is opgegeven.
Enum
ArrayBuffer snaar
HttpHeaders
Een reeks HTTP-headers. Elke header wordt weergegeven als een woordenboek met de name
en ofwel value
ofwel binaryValue
.
Type
voorwerp[]
Eigenschappen
- binaireWaarde
nummer[] optioneel
Waarde van de HTTP-header als deze niet kan worden weergegeven in UTF-8, opgeslagen als afzonderlijke bytewaarden (0..255).
- naam
snaar
Naam van de HTTP-header.
- waarde
string optioneel
Waarde van de HTTP-header als deze kan worden weergegeven door UTF-8.
IgnoredActionType
Enum
"omleiden" "aanvraag_headers" "response_headers" "auth_credentials"
OnAuthRequiredOptions
Enum
"responseHeaders" "blokkeren" "asyncBlocking" "extra kopteksten"
Geeft aan dat de antwoordheaders in de gebeurtenis moeten worden opgenomen.
Geeft aan dat het verzoek wordt geblokkeerd totdat de callbackfunctie retourneert.
Geeft aan dat de callbackfunctie asynchroon wordt verwerkt.
Geeft aan dat headers Cross-Origin Resource Sharing (CORS) kunnen schenden.
OnBeforeRedirectOptions
Enum
"responseHeaders" "extra kopteksten"
Geeft aan dat de antwoordheaders in de gebeurtenis moeten worden opgenomen.
Geeft aan dat headers Cross-Origin Resource Sharing (CORS) kunnen schenden.
OnBeforeRequestOptions
Enum
"blokkeren" "aanvraagBody" "extra kopteksten"
Geeft aan dat het verzoek wordt geblokkeerd totdat de callbackfunctie retourneert.
Geeft aan dat de aanvraagtekst in de gebeurtenis moet worden opgenomen.
Geeft aan dat headers Cross-Origin Resource Sharing (CORS) kunnen schenden.
OnBeforeSendHeadersOptions
Enum
"aanvraagheaders" "blokkeren" "extra kopteksten"
Geeft aan dat de aanvraagheader in de gebeurtenis moet worden opgenomen.
Geeft aan dat het verzoek wordt geblokkeerd totdat de callbackfunctie retourneert.
Geeft aan dat headers Cross-Origin Resource Sharing (CORS) kunnen schenden.
OnCompletedOptions
Enum
"responseHeaders" "extra kopteksten"
Geeft aan dat de antwoordheaders in de gebeurtenis moeten worden opgenomen.
Geeft aan dat headers Cross-Origin Resource Sharing (CORS) kunnen schenden.
OnErrorOccurredOptions
Waarde
"extra kopteksten"
OnHeadersReceivedOptions
Enum
"blokkeren" "responseHeaders" "extra kopteksten"
Geeft aan dat het verzoek wordt geblokkeerd totdat de callbackfunctie retourneert.
Geeft aan dat de antwoordheaders in de gebeurtenis moeten worden opgenomen.
Geeft aan dat headers Cross-Origin Resource Sharing (CORS) kunnen schenden.
OnResponseStartedOptions
Enum
"responseHeaders" "extra kopteksten"
Geeft aan dat de antwoordheaders in de gebeurtenis moeten worden opgenomen.
Geeft aan dat headers Cross-Origin Resource Sharing (CORS) kunnen schenden.
OnSendHeadersOptions
Enum
"aanvraagheaders" "extra kopteksten"
Geeft aan dat de aanvraagheader in de gebeurtenis moet worden opgenomen.
Geeft aan dat headers Cross-Origin Resource Sharing (CORS) kunnen schenden.
RequestFilter
Een object met een beschrijving van de filters die moeten worden toegepast op webRequest-gebeurtenissen.
Eigenschappen
- tabbladId
nummer optioneel
- typen
ResourceType [] optioneel
Een lijst met aanvraagtypen. Verzoeken die niet aan een van de typen voldoen, worden eruit gefilterd.
- URL's
snaar[]
Een lijst met URL's of URL-patronen. Verzoeken die niet aan een van de URL's voldoen, worden eruit gefilterd.
- venster-ID
nummer optioneel
ResourceType
Enum
"hoofdframe" "sub_frame" "stijlblad" "script" "afbeelding" "lettertype" "voorwerp" "xmlhttprequest" "ping" "csp_rapport" "media" "websocket" "webbundel" "ander"
Geeft aan dat de resource het hoofdframe is.
Geeft de resource op als een subframe.
Geeft de resource op als een stijlblad.
Geeft de resource op als een script.
Geeft de bron op als een afbeelding.
Geeft de bron op als lettertype.
Geeft de resource op als een object.
Geeft de resource op als een XMLHttpRequest.
Geeft de resource op als een ping.
Geeft de resource op als een Content Security Policy (CSP)-rapport.
Geeft de resource op als een media-object.
Geeft aan dat de resource een WebSocket is.
Geeft de resource op als een WebBundle.
Geeft de resource op als een type dat niet is opgenomen in de vermelde typen.
UploadData
Bevat gegevens die zijn geüpload in een URL-verzoek.
Eigenschappen
- bytes
elke 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 aanhoudend interval van 10 minuten kan worden aangeroepen. handlerBehaviorChanged
is een dure functieaanroep die niet vaak moet worden aangeroepen.
Waarde
20
Methoden
handlerBehaviorChanged()
chrome.webRequest.handlerBehaviorChanged(): Promise<void>
Moet worden aangeroepen wanneer het gedrag van de webRequest-handlers is gewijzigd om onjuiste afhandeling door caching te voorkomen. Deze functieaanroep is duur. Roep hem niet te vaak aan.
Retourneren
Belofte<leegte>
Chroom 116+
Evenementen
onActionIgnored
chrome.webRequest.onActionIgnored.addListener(
callback: function,
)
Wordt geactiveerd wanneer een voorgestelde wijziging van een extensie in een netwerkaanvraag wordt genegeerd. Dit gebeurt in geval van conflicten met andere extensies.
Parameters
- terugbellen
functie
De
callback
ziet er als volgt uit:(details: object) => void
- details
voorwerp
- actie
De voorgestelde actie werd genegeerd.
- aanvraag-ID
snaar
De ID van het verzoek. Verzoek-ID's zijn uniek binnen een browsersessie. Hierdoor kunnen ze worden gebruikt om verschillende gebeurtenissen van hetzelfde verzoek met elkaar te verbinden.
onAuthRequired
chrome.webRequest.onAuthRequired.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnAuthRequiredOptions[],
)
Wordt geactiveerd wanneer een authenticatiefout wordt ontvangen. De listener heeft drie opties: hij kan authenticatiegegevens verstrekken, hij kan de aanvraag annuleren en de foutpagina weergeven, of hij kan geen actie ondernemen op de challenge. Als er onjuiste gebruikersgegevens worden verstrekt, kan dit meerdere keren voor dezelfde aanvraag worden aangeroepen. Let op: slechts één van de modi 'blocking'
of 'asyncBlocking'
mag worden opgegeven in de parameter extraInfoSpec
.
Parameters
- terugbellen
functie
De
callback
ziet er als volgt uit:(details: object, asyncCallback?: function) => BlockingResponse | undefined
- details
voorwerp
- uitdager
voorwerp
De server die om authenticatie vraagt.
- gastheer
snaar
- haven
nummer
- document-ID
snaar
Chroom 106+De UUID van het document waarvoor de aanvraag is ingediend.
- documentlevenscyclusChroom 106+
De levenscyclus waarin het document zich bevindt.
- frame-ID
nummer
De waarde 0 geeft aan dat de aanvraag in het hoofdframe plaatsvindt; een positieve waarde geeft de ID aan van een subframe waarin de aanvraag plaatsvindt. Als het document van een (sub-)frame wordt geladen (
type
ismain_frame
ofsub_frame
), geeftframeId
de ID van dit frame aan, niet de ID van het buitenste frame. Frame-ID's zijn uniek binnen een tabblad. - frameTypeChroom 106+
Het type frame waarin het verzoek plaatsvond.
- initiatiefnemer
string optioneel
Chroom 63+De oorsprong waar de aanvraag is gestart. Deze verandert niet door middel van redirects. Als dit een ondoorzichtige oorsprong is, wordt de string 'null' gebruikt.
- isProxy
Booleaanse
Waar voor Proxy-Authenticate, onwaar voor WWW-Authenticate.
- methode
snaar
Standaard HTTP-methode.
- ouderDocumentId
string optioneel
Chroom 106+De UUID van het bovenliggende document dat eigenaar is van dit frame. Deze wordt niet ingesteld als er geen bovenliggend document is.
- ouderFrameId
nummer
ID van het frame dat het frame omsluit dat de aanvraag heeft verzonden. Stel in op -1 als er geen bovenliggend frame bestaat.
- rijk
string optioneel
Het authenticatiedomein dat door de server wordt geleverd, indien aanwezig.
- aanvraag-ID
snaar
De ID van het verzoek. Verzoek-ID's zijn uniek binnen een browsersessie. Hierdoor kunnen ze worden gebruikt om verschillende gebeurtenissen van hetzelfde verzoek met elkaar te verbinden.
- reactieHeaders
HttpHeaders optioneel
De HTTP-antwoordheaders die samen met dit antwoord zijn ontvangen.
- regeling
snaar
Het authenticatieschema, bijvoorbeeld Basic of Digest.
- statuscode
nummer
Chroom 43+Standaard HTTP-statuscode die door de server wordt geretourneerd.
- statusregel
snaar
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.
- tabbladId
nummer
De ID van het tabblad waarop de aanvraag plaatsvindt. Stel in op -1 als de aanvraag niet aan een tabblad is gerelateerd.
- tijdstempel
nummer
Het tijdstip waarop dit signaal wordt geactiveerd, in milliseconden sinds het tijdperk.
- type
Hoe de gevraagde bron gebruikt zal worden.
- url
snaar
- asyncCallback
functie optioneel
Chroom 58+De
asyncCallback
-parameter ziet er als volgt uit:(response: BlockingResponse) => void
- antwoord
- retouren
BlokkerendeReactie | undefined
Als "blocking" is opgegeven 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
- terugbellen
functie
De
callback
ziet er als volgt uit:(details: object) => void
- details
voorwerp
- document-ID
snaar
Chroom 106+De UUID van het document waarvoor de aanvraag is ingediend.
- documentlevenscyclusChroom 106+
De levenscyclus waarin het document zich bevindt.
- frame-ID
nummer
De waarde 0 geeft aan dat de aanvraag in het hoofdframe plaatsvindt; een positieve waarde geeft de ID aan van een subframe waarin de aanvraag plaatsvindt. Als het document van een (sub-)frame wordt geladen (
type
ismain_frame
ofsub_frame
), geeftframeId
de ID van dit frame aan, niet de ID van het buitenste frame. Frame-ID's zijn uniek binnen een tabblad. - frameTypeChroom 106+
Het type frame waarin het verzoek plaatsvond.
- vanCache
Booleaanse
Geeft aan of dit antwoord is opgehaald uit de schijfcache.
- initiatiefnemer
string optioneel
Chroom 63+De oorsprong waar de aanvraag is gestart. Deze verandert niet door middel van redirects. Als dit een ondoorzichtige oorsprong is, wordt de string '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.
- ouderDocumentId
string optioneel
Chroom 106+De UUID van het bovenliggende document dat eigenaar is van dit frame. Deze wordt niet ingesteld als er geen bovenliggend document is.
- ouderFrameId
nummer
ID van het frame dat het frame omsluit dat de aanvraag heeft verzonden. Stel in op -1 als er geen bovenliggend frame bestaat.
- redirectUrl
snaar
De nieuwe URL.
- aanvraag-ID
snaar
De ID van het verzoek. Verzoek-ID's zijn uniek binnen een browsersessie. Hierdoor kunnen ze worden gebruikt om verschillende gebeurtenissen van hetzelfde verzoek met elkaar te verbinden.
- reactieHeaders
HttpHeaders optioneel
De HTTP-antwoordheaders die samen met deze omleiding zijn ontvangen.
- statuscode
nummer
Standaard HTTP-statuscode die door de server wordt geretourneerd.
- statusregel
snaar
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.
- tabbladId
nummer
De ID van het tabblad waarop de aanvraag plaatsvindt. Stel in op -1 als de aanvraag niet aan een tabblad is gerelateerd.
- tijdstempel
nummer
Het tijdstip waarop dit signaal wordt geactiveerd, in milliseconden sinds het tijdperk.
- type
Hoe de gevraagde bron gebruikt zal worden.
- 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
- terugbellen
functie
De
callback
ziet er als volgt uit:(details: object) => BlockingResponse | undefined
- details
voorwerp
- document-ID
string optioneel
Chroom 106+De UUID van het document waarvoor de aanvraag is ingediend.
- documentlevenscyclus
extensionTypes.DocumentLifecycle optioneel
Chroom 106+De levenscyclus waarin het document zich bevindt.
- frame-ID
nummer
De waarde 0 geeft aan dat de aanvraag in het hoofdframe plaatsvindt; een positieve waarde geeft de ID aan van een subframe waarin de aanvraag plaatsvindt. Als het document van een (sub-)frame wordt geladen (
type
ismain_frame
ofsub_frame
), geeftframeId
de ID van dit frame aan, niet de ID van het buitenste frame. Frame-ID's zijn uniek binnen een tabblad. - frameType
extensionTypes.FrameType optioneel
Chroom 106+Het type frame waarin het verzoek plaatsvond.
- initiatiefnemer
string optioneel
Chroom 63+De oorsprong waar de aanvraag is gestart. Deze verandert niet door middel van redirects. Als dit een ondoorzichtige oorsprong is, wordt de string 'null' gebruikt.
- methode
snaar
Standaard HTTP-methode.
- ouderDocumentId
string optioneel
Chroom 106+De UUID van het bovenliggende document dat eigenaar is van dit frame. Deze wordt niet ingesteld als er geen bovenliggend document is.
- ouderFrameId
nummer
ID van het frame dat het frame omsluit dat de aanvraag heeft verzonden. Stel in op -1 als er geen bovenliggend frame bestaat.
- verzoekBody
object optioneel
Bevat de HTTP-aanvraagbodygegevens. Alleen beschikbaar als extraInfoSpec 'requestBody' bevat.
- fout
string optioneel
Fouten bij het verkrijgen van gegevens uit de aanvraagtekst.
- formuliergegevens
object optioneel
Als de aanvraagmethode POST is en de body een reeks sleutel-waardeparen is, gecodeerd in UTF8, gecodeerd als multipart/form-data of application/x-www-form-urlencoded, is dit woordenboek aanwezig en bevat het voor elke sleutel de lijst met alle waarden voor die sleutel. Als de gegevens van een ander mediatype zijn of een onjuiste indeling hebben, is het woordenboek niet aanwezig. Een voorbeeldwaarde van dit woordenboek is {'key': ['value1', 'value2']}.
- rauw
UploadData [] optioneel
Als de aanvraagmethode PUT of POST is en de body nog niet is geparseerd in formData, worden de niet-geparseerde elementen van de aanvraagbody in deze array opgenomen.
- aanvraag-ID
snaar
De ID van het verzoek. Verzoek-ID's zijn uniek binnen een browsersessie. Hierdoor kunnen ze worden gebruikt om verschillende gebeurtenissen van hetzelfde verzoek met elkaar te verbinden.
- tabbladId
nummer
De ID van het tabblad waarop de aanvraag plaatsvindt. Stel in op -1 als de aanvraag niet aan een tabblad is gerelateerd.
- tijdstempel
nummer
Het tijdstip waarop dit signaal wordt geactiveerd, in milliseconden sinds het tijdperk.
- type
Hoe de gevraagde bron gebruikt zal worden.
- url
snaar
- retouren
BlokkerendeReactie | undefined
Als "blocking" is opgegeven 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[],
)
Wordt geactiveerd vóór het verzenden van een HTTP-verzoek, zodra de verzoekheaders beschikbaar zijn. Dit kan gebeuren nadat een TCP-verbinding met de server tot stand is gebracht, maar voordat er HTTP-gegevens zijn verzonden.
Parameters
- terugbellen
functie
De
callback
ziet er als volgt uit:(details: object) => BlockingResponse | undefined
- details
voorwerp
- document-ID
snaar
Chroom 106+De UUID van het document waarvoor de aanvraag is ingediend.
- documentlevenscyclusChroom 106+
De levenscyclus waarin het document zich bevindt.
- frame-ID
nummer
De waarde 0 geeft aan dat het verzoek in het hoofdframe plaatsvindt; Een positieve waarde geeft de ID aan van een subframe waarin het verzoek plaatsvindt. Als het document van een (sub-) frame wordt geladen (
type
ismain_frame
ofsub_frame
), geeftframeId
de ID van dit frame aan, niet de ID van het buitenste frame. Frame -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 werd gestart. Dit verandert niet door omleidingen. Als dit een ondoorzichtige oorsprong is, wordt de string 'null' gebruikt.
- methode
snaar
Standaard HTTP -methode.
- ParentDocumentId
String optioneel
Chrome 106+De UUID van het bovenliggende document dat dit frame bezit. Dit is niet ingesteld als er geen ouder is.
- ParentFrameId
nummer
ID van frame dat het frame wikkelt dat het verzoek heeft verzonden. Ingesteld op -1 als er geen ouderframe bestaat.
- Requestheaders
Httpheaders optioneel
De HTTP -aanvraagkoppen die met dit verzoek worden verzonden.
- RequestId
snaar
De ID van het verzoek. Verzoek -ID's zijn uniek binnen een browsersessie. Als gevolg hiervan kunnen ze worden gebruikt om verschillende gebeurtenissen van hetzelfde verzoek te relateren.
- tabide
nummer
De ID van het tabblad waarin het verzoek plaatsvindt. Ingesteld op -1 als het verzoek niet gerelateerd is aan een tabblad.
- tijdstempel
nummer
Het tijdstip waarop dit signaal wordt geactiveerd, in milliseconden sinds het tijdperk.
- type
Hoe de gevraagde bron zal worden gebruikt.
- url
snaar
- retouren
Blokkeringsresponse | ongedefinieerd
Als "blokkeren" wordt opgegeven in de parameter "Extrainfospec", moet de gebeurtenisluisteraar een object van dit type retourneren.
- filter
- extreemfospec
OnBeforesendHeaders [] optioneel
onCompleted
chrome.webRequest.onCompleted.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnCompletedOptions[],
)
Ontslagen wanneer een verzoek is voltooid.
Parameters
- terugbellen
functie
De
callback
-parameter ziet eruit als:(details: object) => void
- details
voorwerp
- Documentid
snaar
Chrome 106+De UUID van het document dat het verzoek indient.
- DocumentlifecycleChrome 106+
De levenscyclus waarin het document zich bevindt.
- frameId
nummer
De waarde 0 geeft aan dat het verzoek in het hoofdframe plaatsvindt; Een positieve waarde geeft de ID aan van een subframe waarin het verzoek plaatsvindt. Als het document van een (sub-) frame wordt geladen (
type
ismain_frame
ofsub_frame
), geeftframeId
de ID van dit frame aan, niet de ID van het buitenste frame. Frame -ID's zijn uniek binnen een tabblad. - frametypeChrome 106+
Het type frame waarin het verzoek plaatsvond.
- van cache
Booleaanse
Geeft aan of deze reactie is opgehaald uit schijfcache.
- initiatiefnemer
String optioneel
Chrome 63+De oorsprong waar het verzoek werd gestart. Dit verandert niet door omleidingen. Als dit een ondoorzichtige oorsprong is, wordt de string 'null' gebruikt.
- ip
String optioneel
Het IP -adres van de server waarnaar het verzoek daadwerkelijk is verzonden. Merk op dat het een letterlijk IPv6 -adres kan zijn.
- methode
snaar
Standaard HTTP -methode.
- ParentDocumentId
String optioneel
Chrome 106+De UUID van het bovenliggende document dat dit frame bezit. Dit is niet ingesteld als er geen ouder is.
- ParentFrameId
nummer
ID van frame dat het frame wikkelt dat het verzoek heeft verzonden. Ingesteld op -1 als er geen ouderframe bestaat.
- RequestId
snaar
De ID van het verzoek. Verzoek -ID's zijn uniek binnen een browsersessie. Als gevolg hiervan kunnen ze worden gebruikt om verschillende gebeurtenissen van hetzelfde verzoek te relateren.
- Responseheers
Httpheaders optioneel
De HTTP -responskoppen die samen met dit antwoord werden ontvangen.
- Statuscode
nummer
Standaard HTTP -statuscode geretourneerd door de server.
- statuslijn
snaar
HTTP -statusregel van de respons of de 'HTTP/0.9 200 OK' String voor HTTP/0.9 -reacties (dwz antwoorden die een statusregel missen) of een lege string als er geen headers zijn.
- tabide
nummer
De ID van het tabblad waarin het verzoek plaatsvindt. Ingesteld op -1 als het verzoek niet gerelateerd is aan een tabblad.
- tijdstempel
nummer
Het tijdstip waarop dit signaal wordt geactiveerd, in milliseconden sinds het tijdperk.
- type
Hoe de gevraagde bron zal worden gebruikt.
- url
snaar
- filter
- extreemfospec
OnCompletedOptions [] optioneel
onErrorOccurred
chrome.webRequest.onErrorOccurred.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnErrorOccurredOptions[],
)
Schoot wanneer er een fout optreedt.
Parameters
- terugbellen
functie
De
callback
-parameter ziet eruit als:(details: object) => void
- details
voorwerp
- Documentid
snaar
Chrome 106+De UUID van het document dat het verzoek indient. Deze waarde is niet aanwezig als het verzoek een navigatie van een frame is.
- DocumentlifecycleChrome 106+
De levenscyclus waarin het document zich bevindt.
- fout
snaar
De foutbeschrijving. Deze string blijft niet achteruit compatibel tussen releases. U mag niet parseren en handelen op basis van de inhoud ervan.
- frameId
nummer
De waarde 0 geeft aan dat het verzoek in het hoofdframe plaatsvindt; Een positieve waarde geeft de ID aan van een subframe waarin het verzoek plaatsvindt. Als het document van een (sub-) frame wordt geladen (
type
ismain_frame
ofsub_frame
), geeftframeId
de ID van dit frame aan, niet de ID van het buitenste frame. Frame -ID's zijn uniek binnen een tabblad. - frametypeChrome 106+
Het type frame waarin het verzoek plaatsvond.
- van cache
Booleaanse
Geeft aan of deze reactie is opgehaald uit schijfcache.
- initiatiefnemer
String optioneel
Chrome 63+De oorsprong waar het verzoek werd gestart. Dit verandert niet door omleidingen. Als dit een ondoorzichtige oorsprong is, wordt de string 'null' gebruikt.
- ip
String optioneel
Het IP -adres van de server waarnaar het verzoek daadwerkelijk is verzonden. Merk op dat het een letterlijk IPv6 -adres kan zijn.
- methode
snaar
Standaard HTTP -methode.
- ParentDocumentId
String optioneel
Chrome 106+De UUID van het bovenliggende document dat dit frame bezit. Dit is niet ingesteld als er geen ouder is.
- ParentFrameId
nummer
ID van frame dat het frame wikkelt dat het verzoek heeft verzonden. Ingesteld op -1 als er geen ouderframe bestaat.
- RequestId
snaar
De ID van het verzoek. Verzoek -ID's zijn uniek binnen een browsersessie. Als gevolg hiervan kunnen ze worden gebruikt om verschillende gebeurtenissen van hetzelfde verzoek te relateren.
- tabide
nummer
De ID van het tabblad waarin het verzoek plaatsvindt. Ingesteld op -1 als het verzoek niet gerelateerd is aan een tabblad.
- tijdstempel
nummer
Het tijdstip waarop dit signaal wordt geactiveerd, in milliseconden sinds het tijdperk.
- type
Hoe de gevraagde bron zal worden gebruikt.
- url
snaar
- filter
- extreemfospec
Onerroroccurredoptions [] optioneel
onHeadersReceived
chrome.webRequest.onHeadersReceived.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnHeadersReceivedOptions[],
)
Afgevuurd wanneer HTTP -responskoppen van een verzoek zijn ontvangen.
Parameters
- terugbellen
functie
De
callback
-parameter ziet eruit als:(details: object) => BlockingResponse | undefined
- details
voorwerp
- Documentid
snaar
Chrome 106+De UUID van het document dat het verzoek indient.
- DocumentlifecycleChrome 106+
De levenscyclus waarin het document zich bevindt.
- frameId
nummer
De waarde 0 geeft aan dat het verzoek in het hoofdframe plaatsvindt; Een positieve waarde geeft de ID aan van een subframe waarin het verzoek plaatsvindt. Als het document van een (sub-) frame wordt geladen (
type
ismain_frame
ofsub_frame
), geeftframeId
de ID van dit frame aan, niet de ID van het buitenste frame. Frame -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 werd gestart. Dit verandert niet door omleidingen. Als dit een ondoorzichtige oorsprong is, wordt de string 'null' gebruikt.
- methode
snaar
Standaard HTTP -methode.
- ParentDocumentId
String optioneel
Chrome 106+De UUID van het bovenliggende document dat dit frame bezit. Dit is niet ingesteld als er geen ouder is.
- ParentFrameId
nummer
ID van frame dat het frame wikkelt dat het verzoek heeft verzonden. Ingesteld op -1 als er geen ouderframe bestaat.
- RequestId
snaar
De ID van het verzoek. Verzoek -ID's zijn uniek binnen een browsersessie. Als gevolg hiervan kunnen ze worden gebruikt om verschillende gebeurtenissen van hetzelfde verzoek te relateren.
- Responseheers
Httpheaders optioneel
De HTTP -responskoppen die met dit antwoord zijn ontvangen.
- Statuscode
nummer
Chrome 43+Standaard HTTP -statuscode geretourneerd door de server.
- statuslijn
snaar
HTTP -statusregel van de respons of de 'http/0,9 200 OK' string voor HTTP/0.9 -reacties (dwz antwoorden die een statusregel missen).
- tabide
nummer
De ID van het tabblad waarin het verzoek plaatsvindt. Ingesteld op -1 als het verzoek niet gerelateerd is aan een tabblad.
- tijdstempel
nummer
Het tijdstip waarop dit signaal wordt geactiveerd, in milliseconden sinds het tijdperk.
- type
Hoe de gevraagde bron zal worden gebruikt.
- url
snaar
- retouren
Blokkeringsresponse | ongedefinieerd
Als "blokkeren" wordt opgegeven in de parameter "Extrainfospec", moet de gebeurtenisluisteraar een object van dit type retourneren.
- filter
- extreemfospec
OnheadersReceivedOptions [] optioneel
onResponseStarted
chrome.webRequest.onResponseStarted.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnResponseStartedOptions[],
)
Afgevuurd wanneer de eerste byte van het responslichaam wordt ontvangen. Voor HTTP -aanvragen betekent dit dat de statusregel- en responskoppen beschikbaar zijn.
Parameters
- terugbellen
functie
De
callback
-parameter ziet eruit als:(details: object) => void
- details
voorwerp
- Documentid
snaar
Chrome 106+De UUID van het document dat het verzoek indient.
- DocumentlifecycleChrome 106+
De levenscyclus waarin het document zich bevindt.
- frameId
nummer
De waarde 0 geeft aan dat het verzoek in het hoofdframe plaatsvindt; Een positieve waarde geeft de ID aan van een subframe waarin het verzoek plaatsvindt. Als het document van een (sub-) frame wordt geladen (
type
ismain_frame
ofsub_frame
), geeftframeId
de ID van dit frame aan, niet de ID van het buitenste frame. Frame -ID's zijn uniek binnen een tabblad. - frametypeChrome 106+
Het type frame waarin het verzoek plaatsvond.
- van cache
Booleaanse
Geeft aan of deze reactie is opgehaald uit schijfcache.
- initiatiefnemer
String optioneel
Chrome 63+De oorsprong waar het verzoek werd gestart. Dit verandert niet door omleidingen. Als dit een ondoorzichtige oorsprong is, wordt de string 'null' gebruikt.
- ip
String optioneel
Het IP -adres van de server waarnaar het verzoek daadwerkelijk is verzonden. Merk op dat het een letterlijk IPv6 -adres kan zijn.
- methode
snaar
Standaard HTTP -methode.
- ParentDocumentId
String optioneel
Chrome 106+De UUID van het bovenliggende document dat dit frame bezit. Dit is niet ingesteld als er geen ouder is.
- ParentFrameId
nummer
ID van frame dat het frame wikkelt dat het verzoek heeft verzonden. Ingesteld op -1 als er geen ouderframe bestaat.
- RequestId
snaar
De ID van het verzoek. Verzoek -ID's zijn uniek binnen een browsersessie. Als gevolg hiervan kunnen ze worden gebruikt om verschillende gebeurtenissen van hetzelfde verzoek te relateren.
- Responseheers
Httpheaders optioneel
De HTTP -responskoppen die samen met dit antwoord werden ontvangen.
- Statuscode
nummer
Standaard HTTP -statuscode geretourneerd door de server.
- statuslijn
snaar
HTTP -statusregel van de respons of de 'HTTP/0.9 200 OK' String voor HTTP/0.9 -reacties (dwz antwoorden die een statusregel missen) of een lege string als er geen headers zijn.
- tabide
nummer
De ID van het tabblad waarin het verzoek plaatsvindt. Ingesteld op -1 als het verzoek niet gerelateerd is aan een tabblad.
- tijdstempel
nummer
Het tijdstip waarop dit signaal wordt geactiveerd, in milliseconden sinds het tijdperk.
- type
Hoe de gevraagde bron zal worden gebruikt.
- url
snaar
- filter
- extreemfospec
OnResponsEnStartedOptions [] optioneel
onSendHeaders
chrome.webRequest.onSendHeaders.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnSendHeadersOptions[],
)
Afgevuurd net voordat een verzoek naar de server wordt verzonden (wijzigingen van eerdere onBeforesendheaders -callbacks zijn zichtbaar tegen de tijd dat OnSendheaders wordt ontslagen).
Parameters
- terugbellen
functie
De
callback
-parameter ziet eruit als:(details: object) => void
- details
voorwerp
- Documentid
snaar
Chrome 106+De UUID van het document dat het verzoek indient.
- DocumentlifecycleChrome 106+
De levenscyclus waarin het document zich bevindt.
- frameId
nummer
De waarde 0 geeft aan dat het verzoek in het hoofdframe plaatsvindt; Een positieve waarde geeft de ID aan van een subframe waarin het verzoek plaatsvindt. Als het document van een (sub-) frame wordt geladen (
type
ismain_frame
ofsub_frame
), geeftframeId
de ID van dit frame aan, niet de ID van het buitenste frame. Frame -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 werd gestart. Dit verandert niet door omleidingen. Als dit een ondoorzichtige oorsprong is, wordt de string 'null' gebruikt.
- methode
snaar
Standaard HTTP -methode.
- ParentDocumentId
String optioneel
Chrome 106+De UUID van het bovenliggende document dat dit frame bezit. Dit is niet ingesteld als er geen ouder is.
- ParentFrameId
nummer
ID van frame dat het frame wikkelt dat het verzoek heeft verzonden. Ingesteld op -1 als er geen ouderframe bestaat.
- Requestheaders
Httpheaders optioneel
De HTTP -aanvraagkoppen die met dit verzoek zijn verzonden.
- RequestId
snaar
De ID van het verzoek. Verzoek -ID's zijn uniek binnen een browsersessie. Als gevolg hiervan kunnen ze worden gebruikt om verschillende gebeurtenissen van hetzelfde verzoek te relateren.
- tabide
nummer
De ID van het tabblad waarin het verzoek plaatsvindt. Ingesteld op -1 als het verzoek niet gerelateerd is aan een tabblad.
- tijdstempel
nummer
Het tijdstip waarop dit signaal wordt geactiveerd, in milliseconden sinds het tijdperk.
- type
Hoe de gevraagde bron zal worden gebruikt.
- url
snaar
- filter
- extreemfospec
ONSENDHEIDERSOPTIONS [] optioneel