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) - Branden wanneer een verzoek op het punt staat te plaatsvinden en de eerste headers zijn opgesteld. Het evenement is bedoeld om extensies toe te staan om Request -headers toe te voegen, te wijzigen en te verwijderen (*) . De gebeurtenis
onBeforeSendHeaders
wordt doorgegeven aan alle abonnees, zodat verschillende abonnees kunnen proberen het verzoek te wijzigen; Zie het gedeelte Implementatiedetails voor hoe dit wordt afgehandeld. Dit evenement 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) - Vuren elke keer dat een HTTP (s) responskop wordt ontvangen. Vanwege omleidingen en authenticatieverzoeken kan dit meerdere keren per verzoek plaatsvinden. Deze gebeurtenis is bedoeld om extensies toe te staan om responskoppen toe te voegen, te wijzigen en te verwijderen, zoals inkomende headers van het type inhoud. De cachingrichtlijnen worden verwerkt voordat dit evenement wordt geactiveerd, dus het wijzigen van headers zoals Cache-Control heeft geen invloed op de cache van de browser. Hiermee kunt u 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.
* Merk op dat de Web Request API een abstractie van de netwerkstapel voor de extensie presenteert. Intern kan één URL -aanvraag worden opgesplitst in verschillende HTTP -aanvragen (bijvoorbeeld om individuele byte te halen uit een groot bestand) of kan ze worden afgehandeld door de netwerkstapel zonder te communiceren met het netwerk. Om deze reden biedt de API niet de uiteindelijke HTTP -headers die naar het netwerk worden verzonden. Alle headers die gerelateerd zijn aan caching zijn bijvoorbeeld 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 zijn aanvraagheaderaanpassingen van invloed op Cross-Origin Resource Sharing (CORS) -controles. Als aangepaste headers voor cross-origin-aanvragen niet aan de criteria voldoen, zal dit ertoe leiden dat een CORS-preflight de server wordt gevraagd of dergelijke headers kunnen worden geaccepteerd. Als u echt headers moet wijzigen op een manier om het CORS -protocol te overtreden, moet u 'extraHeaders'
opgeven in opt_extraInfoSpec
. Aan de andere kant werken de wijzigingen van de responskop niet om CORS -controles te misleiden. Als u het CORS -protocol moet bedriegen, moet u ook 'extraHeaders'
opgeven voor de responsaanpassingen.
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 legt alleen verzoeken bloot dat de extensie toestemming heeft om te zien, gezien 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 zijn zelfs bepaalde verzoeken met URL's met behulp van een van de bovenstaande schema's verborgen. Deze omvatten chrome-extension://other_extension_id
waarbij other_extension_id
niet de ID is van de extensie om het verzoek te verwerken, https://www.google.com/chrome
en andere gevoelige aanvragen kern voor browserfunctionaliteit. Ook synchrone XMLHTTPRequests uit uw extensie zijn verborgen om evenementenhandlers te blokkeren om deadlocks te voorkomen. Merk op dat voor sommige van de ondersteunde schema's de set beschikbare evenementen beperkt kan zijn vanwege de aard van het overeenkomstige 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 callback -functie synchroon behandeld. Dat betekent dat het verzoek is geblokkeerd totdat de callback -functie terugkeert. 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 mogelijk het annuleren of omleiden van een verzoek ( onBeforeRequest
), het annuleren van een verzoek of het wijzigen van headers ( onBeforeSendHeaders
, onHeadersReceived
) en het annuleren van een verzoek of verstrekt verificatiereferenties ( 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 openbaar resource -verzoek om te leiden naar een bron die niet toegankelijk is voor web, wordt deze geblokkeerd en zal een fout resulteren. Het bovenstaande geldt zelfs als de bron die niet toegankelijk is voor web eigendom is van de omleidingsverlenging. Om bronnen te verklaren voor gebruik met DeclarativeWebRequest API's, moet de array "web_accessible_resources"
worden verklaard en bevolkt in het manifest zoals hier gedocumenteerd.
Conflictbemiddeling
Bij de huidige implementatie van de Web Request API wordt een verzoek beschouwd als geannuleerd als ten minste één extensie instrueert om het verzoek te annuleren. Als een extensie een verzoek annuleert, worden alle uitbreidingen op de hoogte gebracht door een onErrorOccurred
-gebeurtenis. Slechts één extensie kan een verzoek omleiden of een koptekst tegelijk wijzigen. Als meer dan één extensie probeert het verzoek te wijzigen, worden de meest recent geïnstalleerde extensie overwinningen en alle andere genegeerd. Een uitbreiding wordt niet op de hoogte gebracht als zijn instructie om te wijzigen of omleiding is genegeerd.
Cachen
Chrome maakt gebruik van twee caches-een cache op het gebied en een zeer snelle cache in het geheugen. De levensduur van een cache in het geheugen is bevestigd aan de levensduur van een renderproces, dat ongeveer overeenkomt met een tab. Verzoeken die worden beantwoord vanuit de cache in het geheugen, zijn onzichtbaar voor de Web Request API. Als een aanvraaghandler zijn gedrag verandert (bijvoorbeeld het gedrag volgens welke aanvragen worden geblokkeerd), respecteert een eenvoudige paginatrish mogelijk dit gewijzigde gedrag mogelijk niet. Om ervoor te zorgen dat de gedragsverandering doorgaat, roept handlerBehaviorChanged()
aan om de cache in het geheugen te spoelen. Maar doe het niet vaak; Het doorspoelen van de cache is een zeer dure bewerking. U hoeft handlerBehaviorChanged()
niet te bellen na het registreren of niet -registreren van een evenementluisteraar.
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
Alleen gebruikt als reactie op de gebeurtenissen OnBeforeRequest en OnheadersReceived. Indien ingesteld, wordt het oorspronkelijke verzoek verhinderd verzonden/voltooid te worden en wordt in plaats daarvan doorgestuurd naar de gegeven URL. Redelingen naar niet-HTTP-schema's zoals
data:
zijn toegestaan. Redirects geïnitieerd door een omleidingsactie gebruiken de oorspronkelijke aanvraagmethode voor de omleiding, met één uitzondering: als de omleiding wordt geïnitieerd in de onheaders -gerecierde fase, wordt de omleiding uitgegeven met behulp van de GET -methode. Omleidingen van URL's metws://
enwss://
schema's 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(
callback?: function,
): 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.
Parameters
- terugbellen
functie optioneel
De
callback
ziet er als volgt uit:() => void
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[],
)
Ontslagen wanneer een authenticatiestoring wordt ontvangen. De luisteraar heeft drie opties: het kan authenticatie -referenties bieden, het kan het verzoek annuleren en de foutpagina weergeven, of het kan geen actie ondernemen bij de uitdaging. Als slechte gebruikersreferenties worden verstrekt, kan dit voor hetzelfde verzoek meerdere keren worden opgeroepen. Opmerking, slechts één van 'blocking'
of 'asyncBlocking'
-modi moet 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 wordt geplaatst en de body een reeks sleutelwaardeparen is die zijn gecodeerd in UTF8, gecodeerd als multipart/form-data, of applicatie/x-www-form-urlencoded, is dit woordenboek aanwezig en bevat dit de lijst met alle waarden voor die sleutel. Als de gegevens van een ander mediatype zijn, of als deze misvormd is, 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 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.
- 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.
- aanvraagheaders
HttpHeaders optioneel
De HTTP-aanvraagheaders die met deze aanvraag worden verzonden.
- 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
OnBeforeSendHeadersOptions [] optioneel
onCompleted
chrome.webRequest.onCompleted.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnCompletedOptions[],
)
Wordt geactiveerd wanneer een verzoek is voltooid.
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 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.
- aanvraag-ID
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.
- tabbladId
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
ziet er als volgt uit:(details: object) => void
- details
voorwerp
- document-ID
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.
- aanvraag-ID
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.
- tabbladId
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
ziet er als volgt uit:(details: object) => BlockingResponse | undefined
- details
voorwerp
- document-ID
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.
- aanvraag-ID
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).
- tabbladId
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
ziet er als volgt uit:(details: object) => void
- details
voorwerp
- document-ID
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.
- aanvraag-ID
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.
- tabbladId
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
ziet er als volgt uit:(details: object) => void
- details
voorwerp
- document-ID
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.
- aanvraag-ID
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.
- tabbladId
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