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 opgeven om de webaanvraag-API te kunnen gebruiken, samen met de benodigde hostmachtigingen . Om een subresourceverzoek te kunnen onderscheppen, moet de extensie toegang hebben tot zowel de opgevraagde URL als de initiator ervan. 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 op beleid geïnstalleerde extensies.
webRequestAuthProvider
Vereist om de onAuthRequired
methode te gebruiken. Zie Authenticatie afhandelen .
Concepten en gebruik
Levenscyclus van verzoeken
De webverzoek-API definieert een reeks gebeurtenissen die de levenscyclus van een webverzoek volgen. U kunt deze gebeurtenissen gebruiken om verkeer te observeren en te analyseren. Bij bepaalde synchrone gebeurtenissen kunt u een verzoek onderscheppen, blokkeren of wijzigen.
De gebeurtenislevenscyclus voor succesvolle verzoeken wordt hier geïllustreerd, gevolgd door gebeurtenisdefinities:
-
onBeforeRequest
(optioneel synchroon) - Wordt geactiveerd wanneer een verzoek op het punt staat plaats te vinden. Deze gebeurtenis wordt verzonden voordat er een TCP-verbinding tot stand wordt 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. De gebeurtenis is bedoeld om extensies de mogelijkheid te geven om verzoekheaders (*) toe te voegen, te wijzigen en te verwijderen. De gebeurtenis
onBeforeSendHeaders
wordt aan alle abonnees doorgegeven, zodat verschillende abonnees kunnen proberen het verzoek te wijzigen; zie de sectie Implementatiedetails voor hoe dit wordt afgehandeld. Deze gebeurtenis kan worden gebruikt om het verzoek te annuleren. -
onSendHeaders
- Wordt geactiveerd nadat alle extensies de kans hebben gehad om de verzoekheaders te 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 afgehandeld. Het is niet mogelijk om het verzoek te wijzigen of te annuleren.
-
onHeadersReceived
(optioneel synchroon) - Wordt elke keer geactiveerd wanneer een HTTP(S)-antwoordheader wordt ontvangen. Door omleidingen en authenticatieverzoeken kan dit meerdere keren per verzoek gebeuren. Deze gebeurtenis is bedoeld om extensies in staat te stellen antwoordheaders, zoals binnenkomende Content-Type-headers, toe te voegen, te wijzigen en te verwijderen. De caching-instructies worden verwerkt voordat deze gebeurtenis 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 verzoek authenticatie van de gebruiker vereist. Deze gebeurtenis kan synchroon worden afgehandeld om verificatiereferenties te verstrekken. Houd er rekening mee dat extensies ongeldige inloggegevens kunnen bieden. Zorg ervoor dat u niet in een oneindige lus terechtkomt door herhaaldelijk ongeldige inloggegevens op te geven. Dit kan ook worden gebruikt om het verzoek te annuleren.
-
onBeforeRedirect
- Wordt geactiveerd wanneer een omleiding op het punt staat te worden uitgevoerd. Een omleiding kan worden geactiveerd door een HTTP-antwoordcode of door een extensie. Deze gebeurtenis is informatief en wordt asynchroon afgehandeld. U kunt het verzoek niet wijzigen of annuleren.
-
onResponseStarted
- Wordt geactiveerd wanneer de eerste byte van de antwoordtekst wordt ontvangen. Voor HTTP-verzoeken betekent dit dat de statusregel en antwoordheaders beschikbaar zijn. Deze gebeurtenis is informatief en wordt asynchroon afgehandeld. Het is niet mogelijk om het verzoek te wijzigen of te annuleren.
-
onCompleted
- Wordt geactiveerd wanneer een aanvraag succesvol is verwerkt.
-
onErrorOccurred
- Wordt geactiveerd wanneer een verzoek niet met succes kan worden verwerkt.
De webverzoek-API garandeert dat voor elk verzoek onCompleted
of onErrorOccurred
wordt geactiveerd als de laatste gebeurtenis, met één uitzondering: als een verzoek wordt omgeleid naar een data://
URL, is onBeforeRedirect
de laatst gerapporteerde gebeurtenis.
* Merk op dat de webverzoek-API een abstractie van de netwerkstack naar de extensie presenteert. Intern kan één URL-verzoek worden opgesplitst in verschillende HTTP-verzoeken (bijvoorbeeld om individuele bytebereiken uit een groot bestand op te halen) of kan worden afgehandeld door de netwerkstack zonder met het netwerk te communiceren. Om deze reden levert de API niet de uiteindelijke HTTP-headers die naar het netwerk worden verzonden. Alle headers die verband houden met caching zijn bijvoorbeeld onzichtbaar voor de extensie.
De volgende headers zijn momenteel niet beschikbaar voor de onBeforeSendHeaders
gebeurtenis. Het is niet gegarandeerd dat deze lijst compleet of stabiel is.
- Autorisatie
- Cache-controle
- Verbinding
- Inhoud-lengte
- Gastheer
- Indien-gewijzigd-sinds
- Als-geen-overeenkomst
- Als-bereik
- Gedeeltelijke gegevens
- Pragma
- Proxy-autorisatie
- Proxy-verbinding
- Overdrachtcodering
Vanaf Chrome 79 hebben wijzigingen in de verzoekheader invloed op de controles op Cross-Origin Resource Sharing (CORS). Als aangepaste headers voor cross-origin-verzoeken niet aan de criteria voldoen, zal dit resulteren in het verzenden van een CORS-preflight om de server te vragen of dergelijke headers kunnen worden geaccepteerd. Als u headers echt moet wijzigen op een manier die het CORS-protocol schendt, moet u 'extraHeaders'
opgeven in opt_extraInfoSpec
. Aan de andere kant werken aanpassingen aan de responsheader niet om CORS-controles te misleiden. Als u het CORS-protocol moet misleiden, moet u ook 'extraHeaders'
opgeven voor de antwoordwijzigingen.
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 luisteraar is met 'extraHeaders'
gespecificeerd in opt_extraInfoSpec
voor de aanvraag-URL. onBeforeRequest
kan ook 'extraHeaders'
van Chrome 79 overnemen.
Vanaf Chrome 79 wordt de volgende verzoekheader niet meegeleverd en kan deze niet worden gewijzigd of verwijderd zonder 'extraHeaders'
op te geven in opt_extraInfoSpec
:
- Oorsprong
Als u vanaf Chrome 72 de reacties moet aanpassen voordat Cross Origin Read Blocking (CORB) de reactie kan blokkeren, moet u 'extraHeaders'
opgeven in opt_extraInfoSpec
.
Vanaf Chrome 72 zijn de volgende verzoekheaders niet beschikbaar en kunnen deze niet worden gewijzigd of verwijderd zonder 'extraHeaders'
op te geven in opt_extraInfoSpec
:
- Accepteren-Taal
- Accepteren-codering
- Verwijzer
- Koekje
Vanaf Chrome 72 wordt de Set-Cookie
antwoordheader niet meegeleverd en kan deze niet worden gewijzigd of verwijderd zonder 'extraHeaders'
op te geven in opt_extraInfoSpec
.
Vanaf Chrome 89 kan de antwoordheader X-Frame-Options
niet effectief worden gewijzigd of verwijderd zonder 'extraHeaders'
op te geven in opt_extraInfoSpec
.
De webRequest API geeft alleen verzoeken weer waarvoor de extensie toestemming heeft om deze te zien, op basis van de hostrechten . Bovendien zijn alleen de volgende schema's toegankelijk: http://
, https://
, ftp://
, file://
, ws://
(sinds Chrome 58), wss://
(sinds Chrome 58), urn:
(sinds Chrome 91), of chrome-extension://
. Bovendien zijn 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 die het verzoek afhandelt, https://www.google.com/chrome
en andere gevoelige verzoeken die essentieel zijn voor de browserfunctionaliteit. Ook worden synchrone XMLHttpRequests van uw extensie verborgen voor het blokkeren van gebeurtenishandlers om impasses te voorkomen. Houd er rekening mee dat voor sommige van de ondersteunde schema's de reeks beschikbare gebeurtenissen beperkt kan zijn vanwege de aard van het overeenkomstige protocol. Voor het bestand: schema kunnen bijvoorbeeld alleen onBeforeRequest
, onResponseStarted
, onCompleted
en onErrorOccurred
worden verzonden.
Vanaf Chrome 58 ondersteunt de webRequest API het onderscheppen van het WebSocket-handshakeverzoek. Omdat de handshake wordt uitgevoerd door middel van een HTTP-upgradeverzoek, past de stroom ervan in het HTTP-georiënteerde webRequest-model. Houd er rekening mee dat de API het volgende niet onderschept :
- Individuele berichten verzonden via een bestaande WebSocket-verbinding.
- WebSocket-verbinding sluiten.
Omleidingen worden niet ondersteund voor WebSocket-aanvragen.
Vanaf Chrome 72 kan een extensie een verzoek alleen onderscheppen als deze hostrechten heeft voor zowel de gevraagde URL als de verzoekinitiator.
Vanaf Chrome 96 ondersteunt de webRequest API het onderscheppen van het WebTransport via HTTP/3-handshakeverzoek. Omdat de handshake wordt gedaan door middel van een HTTP CONNECT-verzoek, past de stroom ervan in het HTTP-georiënteerde webRequest-model. Merk op dat:
- Zodra de sessie tot stand is gebracht, kunnen extensies de sessie niet observeren of ingrijpen via de webRequest API.
- Het wijzigen van HTTP-verzoekheaders in
onBeforeSendHeaders
wordt genegeerd. - Omleidingen en authenticaties worden niet ondersteund in WebTransport via HTTP/3.
ID's opvragen
Elk verzoek wordt geïdentificeerd door een verzoek-ID. Deze ID is uniek binnen een browsersessie en de context van een extensie. Het blijft constant tijdens 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 toegewezen aan één webverzoek in het geval van HTTP-omleiding of HTTP-authenticatie.
Gebeurtenislisteners registreren
Om een gebeurtenislistener voor een webverzoek te registreren, gebruikt u een variatie op de gebruikelijke addListener()
functie . Naast het opgeven van een callback-functie moet u een filterargument opgeven, en u kunt optioneel een extra info-argument opgeven.
De drie argumenten voor addListener()
van de webverzoek-API 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 heeft een verplichte callback-functie als eerste parameter. Deze callback-functie geeft een woordenboek door met informatie over het huidige URL-verzoek. De informatie in dit woordenboek is afhankelijk van het specifieke gebeurtenistype en van de inhoud van opt_extraInfoSpec
.
Als de optionele opt_extraInfoSpec
-array de string 'blocking'
bevat (alleen toegestaan voor specifieke gebeurtenissen), wordt de callback-functie synchroon afgehandeld. Dat betekent dat het verzoek wordt 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 het mogelijk een verzoek te annuleren of om te leiden ( onBeforeRequest
), een verzoek te annuleren of headers te wijzigen ( onBeforeSendHeaders
, onHeadersReceived
) en een verzoek te annuleren of authenticatiegegevens op te geven ( 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 webRequest.RequestFilter
filter
kunt u de verzoeken beperken waarvoor gebeurtenissen in verschillende dimensies worden geactiveerd:
- URL's
- URL-patronen zoals
*://www.google.com/foo*bar
. - Soorten
- Verzoektypen zoals
main_frame
(een document dat wordt geladen voor een frame op het hoogste niveau),sub_frame
(een document dat wordt geladen voor een ingesloten frame) enimage
(een afbeelding op een website). ZiewebRequest.RequestFilter
. - Tab-ID
- De ID voor één tabblad.
- Venster-ID
- De ID voor een venster.
Afhankelijk van het gebeurtenistype kunt u in opt_extraInfoSpec
strings opgeven om aanvullende informatie over het verzoek te vragen. Dit wordt alleen gebruikt om gedetailleerde informatie over de gegevens van het verzoek te verstrekken als dit expliciet wordt gevraagd.
Authenticatie afhandelen
Om verzoeken voor HTTP-authenticatie af te handelen, voegt u de machtiging "webRequestAuthProvider"
toe aan uw manifestbestand:
{
"permissions": [
"webRequest",
"webRequestAuthProvider"
]
}
Houd er rekening mee dat deze toestemming niet vereist is voor een op beleid geïnstalleerde extensie met de toestemming "webRequestBlocking"
.
Om referenties synchroon op te geven:
chrome.webRequest.onAuthRequired.addListener((details) => {
return {
authCredentials: {
username: 'guest',
password: 'guest'
}
};
},
{ urls: ['https://httpbin.org/basic-auth/guest/guest'] },
['blocking']
);
Om referenties asynchroon op te geven:
chrome.webRequest.onAuthRequired.addListener((details, callback) => {
callback({
authCredentials: {
username: 'guest',
password: 'guest'
}
});
},
{ urls: ['https://httpbin.org/basic-auth/guest/guest'] },
['asyncBlocking']
);
Implementatiedetails
Verschillende implementatiedetails kunnen belangrijk zijn om te begrijpen bij het ontwikkelen van een extensie die gebruikmaakt van de webverzoek-API:
web_toegankelijke_bronnen
Wanneer een extensie webRequest API's gebruikt om een verzoek om een openbare bron om te leiden naar een bron die niet via internet toegankelijk is, wordt deze geblokkeerd en resulteert dit in een fout. Het bovenstaande geldt zelfs als de bron die niet via internet toegankelijk is, eigendom is van de omleidingsextensie. Om bronnen te declareren voor gebruik met declaratieveWebRequest API's, moet de array "web_accessible_resources"
worden gedeclareerd en ingevuld in het manifest, zoals hier gedocumenteerd.
Conflictoplossing
In de huidige implementatie van de webverzoek-API wordt een verzoek als geannuleerd beschouwd als ten minste één extensie de opdracht geeft het verzoek te annuleren. Als een extensie een verzoek annuleert, worden alle extensies hiervan op de hoogte gesteld door een onErrorOccurred
gebeurtenis. Er kan slechts één extensie tegelijk een verzoek omleiden of een header wijzigen. Als meer dan één extensie probeert het verzoek te wijzigen, wint de meest recent geïnstalleerde extensie en worden alle andere genegeerd. Een extensie ontvangt geen melding als de instructie om deze te wijzigen of om te leiden is genegeerd.
Caching
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 weergaveproces, dat grofweg overeenkomt met een tabblad. Verzoeken die vanuit de cache in het geheugen worden beantwoord, zijn onzichtbaar voor de webverzoek-API. Als een verzoekbehandelaar zijn gedrag verandert (bijvoorbeeld het gedrag op basis waarvan verzoeken worden geblokkeerd), wordt dit gewijzigde gedrag mogelijk niet gerespecteerd door een eenvoudige paginavernieuwing. Om ervoor te zorgen dat de gedragsverandering wordt doorgevoerd, roept u handlerBehaviorChanged()
aan om de cache in het geheugen leeg te maken. Maar doe het niet vaak; het leegmaken van de cache is een zeer dure operatie. U hoeft handlerBehaviorChanged()
niet aan te roepen na het registreren of uitschrijven van een gebeurtenislistener.
Tijdstempels
De timestamp
van webverzoekgebeurtenissen is alleen gegarandeerd intern consistent. Als u de ene gebeurtenis met een andere gebeurtenis vergelijkt, krijgt u de juiste offset daartussen, maar als u ze vergelijkt met de huidige tijd binnen de extensie (via (new Date()).getTime()
bijvoorbeeld) kan dit onverwachte resultaten opleveren.
Foutafhandeling
Als u een gebeurtenis met ongeldige argumenten probeert te registreren, wordt er een JavaScript-fout gegenereerd en wordt de gebeurtenishandler niet geregistreerd. Als er een fout optreedt terwijl een gebeurtenis wordt afgehandeld of als een gebeurtenishandler een ongeldige blokkeringsreactie retourneert, wordt er een foutmelding vastgelegd in de console van uw extensie en wordt de handler voor dat verzoek genegeerd.
Voorbeelden
Het volgende voorbeeld illustreert hoe u alle verzoeken aan www.evil.com
kunt blokkeren:
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
return {cancel: details.url.indexOf("://www.evil.com/") != -1};
},
{urls: ["<all_urls>"]},
["blocking"]
);
Omdat deze functie gebruikmaakt van een blokkerende gebeurtenishandler, vereist deze zowel de machtiging "webRequest"
als de machtiging "webRequestBlocking"
in het manifestbestand.
Met het volgende voorbeeld wordt hetzelfde doel op een efficiëntere manier bereikt, omdat verzoeken die niet gericht zijn op www.evil.com
niet hoeven te worden doorgegeven aan de extensie:
chrome.webRequest.onBeforeRequest.addListener(
function(details) { return {cancel: true}; },
{urls: ["*://www.evil.com/*"]},
["blocking"]
);
In het volgende voorbeeld ziet u 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"]
);
Als u de chrome.webRequest
API wilt uitproberen, installeert u het webRequest-voorbeeld uit de chrome-extension-samples- repository.
Soorten
BlockingResponse
Retourneert waarde voor gebeurtenishandlers waarop de 'blokkerende' extraInfoSpec is toegepast. Hiermee kan de gebeurtenishandler netwerkverzoeken wijzigen.
Eigenschappen
- authCredentials
object optioneel
Wordt alleen gebruikt als reactie op de onAuthRequired-gebeurtenis. Indien ingesteld, wordt het verzoek gedaan met behulp van de opgegeven inloggegevens.
- wachtwoord
snaar
- gebruikersnaam
snaar
- annuleren
Booleaans optioneel
Indien waar, wordt het verzoek geannuleerd. Dit voorkomt dat het verzoek wordt verzonden. Dit kan worden gebruikt als reactie op de gebeurtenissen onBeforeRequest, onBeforeSendHeaders, onHeadersReceived en onAuthRequired.
- redirectUrl
tekenreeks optioneel
Wordt alleen gebruikt als reactie op de gebeurtenissen onBeforeRequest en onHeadersReceived. Indien ingesteld, wordt voorkomen dat het oorspronkelijke verzoek wordt verzonden/voltooid en wordt het in plaats daarvan doorgestuurd naar de opgegeven URL. Omleidingen naar niet-HTTP-schema's zoals
data:
zijn toegestaan. Omleidingen die door een omleidingsactie worden geïnitieerd, gebruiken de oorspronkelijke aanvraagmethode voor de omleiding, met één uitzondering: als de omleiding wordt geïnitieerd in de onHeadersReceived-fase, wordt de omleiding uitgegeven met behulp van de GET-methode. Omleidingen vanaf URL's met de schema'sws://
enwss://
worden genegeerd . - verzoekHeaders
HttpHeaders optioneel
Wordt alleen gebruikt als reactie op de onBeforeSendHeaders-gebeurtenis. Indien ingesteld, wordt het verzoek in plaats daarvan gedaan met deze verzoekheaders.
- reactieHeaders
HttpHeaders optioneel
Wordt alleen gebruikt als reactie op de onHeadersReceived-gebeurtenis. Indien ingesteld, wordt aangenomen dat de server in plaats daarvan met deze antwoordheaders heeft gereageerd. Retourneer
responseHeaders
alleen als u de headers echt wilt wijzigen om het aantal conflicten te beperken (slechts één extensie magresponseHeaders
voor elk verzoek wijzigen).
FormDataItem
Bevat gegevens die zijn doorgegeven in formuliergegevens. Voor de urlengecodeerde vorm wordt het opgeslagen als string als de gegevens utf-8 string zijn en anders als ArrayBuffer. Voor formuliergegevens is dit ArrayBuffer. Als formuliergegevens het uploaden van een bestand vertegenwoordigen, is het een tekenreeks met bestandsnaam, als de bestandsnaam is opgegeven.
Enum
ArrayBuffer snaar
HttpHeaders
Een array met HTTP-headers. Elke header wordt weergegeven als een woordenboek met de name
van de sleutel en value
of binaryValue
.
Type
voorwerp[]
Eigenschappen
- binairewaarde
nummer[] optioneel
Waarde van de HTTP-header als deze niet kan worden weergegeven door UTF-8, opgeslagen als individuele bytewaarden (0..255).
- naam
snaar
Naam van de HTTP-header.
- waarde
tekenreeks optioneel
Waarde van de HTTP-header als deze kan worden weergegeven door UTF-8.
IgnoredActionType
Enum
"doorsturen" "request_headers" "response_headers" "auth_credentials"
OnAuthRequiredOptions
Enum
"responseHeaders" "blokkeren" "asynchrone blokkering" "extraHeaders"
Hiermee geeft u op dat de antwoordheaders in de gebeurtenis moeten worden opgenomen.
Geeft aan dat de aanvraag wordt geblokkeerd totdat de callback-functie terugkeert.
Geeft aan dat de callback-functie asynchroon wordt afgehandeld.
Geeft aan dat headers Cross-Origin Resource Sharing (CORS) kunnen schenden.
OnBeforeRedirectOptions
Enum
"responseHeaders" "extraHeaders"
Hiermee geeft u op dat de antwoordheaders in de gebeurtenis moeten worden opgenomen.
Geeft aan dat headers Cross-Origin Resource Sharing (CORS) kunnen schenden.
OnBeforeRequestOptions
Enum
"blokkeren" "requestBody" "extraHeaders"
Geeft aan dat de aanvraag wordt geblokkeerd totdat de callback-functie terugkeert.
Geeft aan dat de aanvraagtekst in de gebeurtenis moet worden opgenomen.
Geeft aan dat headers Cross-Origin Resource Sharing (CORS) kunnen schenden.
OnBeforeSendHeadersOptions
Enum
"requestHeaders" "blokkeren" "extraHeaders"
Geeft aan dat de verzoekheader in de gebeurtenis moet worden opgenomen.
Geeft aan dat de aanvraag wordt geblokkeerd totdat de callback-functie terugkeert.
Geeft aan dat headers Cross-Origin Resource Sharing (CORS) kunnen schenden.
OnCompletedOptions
Enum
"responseHeaders" "extraHeaders"
Hiermee geeft u op dat de antwoordheaders in de gebeurtenis moeten worden opgenomen.
Geeft aan dat headers Cross-Origin Resource Sharing (CORS) kunnen schenden.
OnErrorOccurredOptions
Waarde
"extraHeaders"
OnHeadersReceivedOptions
Enum
"blokkeren" "responseHeaders" "extraHeaders"
Geeft aan dat de aanvraag wordt geblokkeerd totdat de callback-functie terugkeert.
Hiermee geeft u op dat de antwoordheaders in de gebeurtenis moeten worden opgenomen.
Geeft aan dat headers Cross-Origin Resource Sharing (CORS) kunnen schenden.
OnResponseStartedOptions
Enum
"responseHeaders" "extraHeaders"
Hiermee geeft u op dat de antwoordheaders in de gebeurtenis moeten worden opgenomen.
Geeft aan dat headers Cross-Origin Resource Sharing (CORS) kunnen schenden.
OnSendHeadersOptions
Enum
"requestHeaders" "extraHeaders"
Geeft aan dat de verzoekheader in de gebeurtenis moet worden opgenomen.
Geeft aan dat headers Cross-Origin Resource Sharing (CORS) kunnen schenden.
RequestFilter
Een object dat filters beschrijft die moeten worden toegepast op webRequest-gebeurtenissen.
Eigenschappen
- tabId
nummer optioneel
- typen
ResourceType [] optioneel
Een lijst met verzoektypen. Verzoeken die niet aan een van de typen kunnen voldoen, worden eruit gefilterd.
- URL's
snaar[]
Een lijst met URL's of URL-patronen. Verzoeken die niet met een van de URL's overeenkomen, worden eruit gefilterd.
- vensterId
nummer optioneel
ResourceType
Enum
"hoofdframe" "subframe" "stijlblad" "script" "afbeelding" "lettertype" "voorwerp" "xmlhttpverzoek" "ping" "csp_rapport" "media" "websocket" "webbundel" "ander"
Specificeert de bron als het hoofdframe.
Specificeert de bron als een subframe.
Specificeert de bron als een stylesheet.
Specificeert de bron als een script.
Specificeert de bron als een afbeelding.
Specificeert de bron als lettertype.
Specificeert de bron als een object.
Specificeert de bron als een XMLHttpRequest.
Specificeert de bron als een ping.
Specificeert de bron als een Content Security Policy (CSP)-rapport.
Specificeert de bron als een mediaobject.
Hiermee geeft u de bron op als een WebSocket.
Specificeert de bron als een WebBundle.
Specificeert de resource als een type dat niet is opgenomen in de vermelde typen.
UploadData
Bevat gegevens die zijn geüpload in een URL-verzoek.
Eigenschappen
- bytes
eventueel optioneel
Een ArrayBuffer met een kopie van de gegevens.
- bestand
tekenreeks 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
kan worden aangeroepen per aanhoudend interval van 10 minuten. handlerBehaviorChanged
is een dure functieaanroep die niet vaak mag worden aangeroepen.
Waarde
20
Methoden
handlerBehaviorChanged()
chrome.webRequest.handlerBehaviorChanged(
callback?: function,
)
Moet worden aangeroepen wanneer het gedrag van de webRequest-handlers is veranderd om onjuiste afhandeling als gevolg van caching te voorkomen. Deze functieaanroep is duur. Bel het niet vaak.
Parameters
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:() => void
Retouren
Beloof <nietig>
Chroom 116+Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.
Evenementen
onActionIgnored
chrome.webRequest.onActionIgnored.addListener(
callback: function,
)
Wordt geactiveerd wanneer de door een extensie voorgestelde wijziging van een netwerkverzoek wordt genegeerd. Dit gebeurt in geval van conflicten met andere extensies.
Parameters
- terugbellen
functie
De
callback
parameter ziet er als volgt uit:(details: object) => void
- details
voorwerp
- actie
De voorgestelde actie die werd genegeerd.
- verzoekID
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 met elkaar in verband te brengen.
onAuthRequired
chrome.webRequest.onAuthRequired.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnAuthRequiredOptions[],
)
Wordt geactiveerd wanneer er een authenticatiefout wordt ontvangen. De luisteraar heeft drie opties: hij kan authenticatiegegevens verstrekken, hij kan het verzoek annuleren en de foutpagina weergeven, of hij kan geen actie ondernemen op de uitdaging. Als er slechte gebruikersreferenties worden opgegeven, kan dit meerdere keren worden aangeroepen voor hetzelfde verzoek. Let op: slechts één van 'blocking'
of 'asyncBlocking'
modi moet worden opgegeven in de extraInfoSpec
-parameter.
Parameters
- terugbellen
functie
De
callback
parameter 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
- documentId
snaar
Chroom 106+De UUID van het document dat het verzoek doet.
- documentLevenscyclusChroom 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. - frametypeChroom 106+
Het type frame waarin het verzoek heeft plaatsgevonden.
- initiatiefnemer
tekenreeks optioneel
Chroom 63+De oorsprong waar het verzoek is geïnitieerd. Dit verandert niet door omleidingen. Als dit een ondoorzichtige oorsprong is, wordt de string 'null' gebruikt.
- isProxy
Booleaans
Waar voor Proxy-Authenticate, false voor WWW-Authenticate.
- methode
snaar
Standaard HTTP-methode.
- parentDocumentId
tekenreeks optioneel
Chroom 106+De UUID van het bovenliggende document dat eigenaar is van dit frame. Dit wordt niet ingesteld als er geen ouder is.
- ouderFrameId
nummer
ID van het frame dat het frame omsluit dat het verzoek heeft verzonden. Stel in op -1 als er geen bovenliggend frame bestaat.
- rijk
tekenreeks optioneel
Het authenticatiedomein dat door de server wordt geleverd, als die er is.
- verzoekID
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 met elkaar in verband te brengen.
- reactieHeaders
HttpHeaders optioneel
De HTTP-antwoordheaders die samen met dit antwoord zijn ontvangen.
- schema
snaar
Het authenticatieschema, bijvoorbeeld Basic of Digest.
- statusCode
nummer
Chroom 43+Standaard HTTP-statuscode geretourneerd door de server.
- statusLijn
snaar
HTTP-statusregel van het antwoord of de tekenreeks 'HTTP/0.9 200 OK' voor HTTP/0.9-reacties (dwz reacties zonder statusregel) of een lege tekenreeks als er geen headers zijn.
- tabId
nummer
De ID van het tabblad waarop de aanvraag plaatsvindt. Stel in 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
- asyncTerugbellen
functie optioneel
Chroom 58+De
asyncCallback
parameter ziet er als volgt uit:(response: BlockingResponse) => void
- antwoord
- retourneert
Blokkeerreactie | ongedefinieerd
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
parameter ziet er als volgt uit:(details: object) => void
- details
voorwerp
- documentId
snaar
Chroom 106+De UUID van het document dat het verzoek doet.
- documentLevenscyclusChroom 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. - frametypeChroom 106+
Het type frame waarin het verzoek heeft plaatsgevonden.
- van Cache
Booleaans
Geeft aan of dit antwoord is opgehaald uit de schijfcache.
- initiatiefnemer
tekenreeks optioneel
Chroom 63+De oorsprong waar het verzoek is geïnitieerd. Dit verandert niet door omleidingen. Als dit een ondoorzichtige oorsprong is, wordt de string 'null' gebruikt.
- ip
tekenreeks optioneel
Het IP-adres van de server waarnaar het verzoek daadwerkelijk is verzonden. Houd er rekening mee dat het een letterlijk IPv6-adres kan zijn.
- methode
snaar
Standaard HTTP-methode.
- parentDocumentId
tekenreeks optioneel
Chroom 106+De UUID van het bovenliggende document dat eigenaar is van dit frame. Dit wordt niet ingesteld als er geen ouder is.
- ouderFrameId
nummer
ID van het frame dat het frame omsluit dat het verzoek heeft verzonden. Stel in op -1 als er geen bovenliggend frame bestaat.
- redirectUrl
snaar
De nieuwe URL.
- verzoekID
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 met elkaar in verband te brengen.
- reactieHeaders
HttpHeaders optioneel
De HTTP-antwoordheaders die samen met deze omleiding zijn ontvangen.
- statusCode
nummer
Standaard HTTP-statuscode geretourneerd door de server.
- statusLijn
snaar
HTTP-statusregel van het antwoord of de tekenreeks 'HTTP/0.9 200 OK' voor HTTP/0.9-reacties (dwz reacties zonder statusregel) of een lege tekenreeks als er geen headers zijn.
- tabId
nummer
De ID van het tabblad waarop de aanvraag plaatsvindt. Stel in 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
- extraInfoSpec
OnBeforeRedirectOptions [] optioneel
onBeforeRequest
chrome.webRequest.onBeforeRequest.addListener(
callback: function,
filter: RequestFilter,
extraInfoSpec?: OnBeforeRequestOptions[],
)
Wordt geactiveerd wanneer er een verzoek gaat plaatsvinden.
Parameters
- terugbellen
functie
De
callback
parameter ziet er als volgt uit:(details: object) => BlockingResponse | undefined
- details
voorwerp
- documentId
tekenreeks optioneel
Chroom 106+De UUID van het document dat het verzoek doet.
- documentLevenscyclus
extensionTypes.DocumentLifecycle optioneel
Chroom 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. - frametype
extensionTypes.FrameType optioneel
Chroom 106+Het type frame waarin het verzoek heeft plaatsgevonden.
- initiatiefnemer
tekenreeks optioneel
Chroom 63+De oorsprong waar het verzoek is geïnitieerd. Dit verandert niet door omleidingen. Als dit een ondoorzichtige oorsprong is, wordt de string 'null' gebruikt.
- methode
snaar
Standaard HTTP-methode.
- parentDocumentId
tekenreeks optioneel
Chroom 106+De UUID van het bovenliggende document dat eigenaar is van dit frame. Dit wordt niet ingesteld als er geen ouder is.
- ouderFrameId
nummer
ID van het frame dat het frame omsluit dat het verzoek heeft verzonden. Stel in op -1 als er geen bovenliggend frame bestaat.
- aanvraagLichaam
object optioneel
Bevat de body-gegevens van het HTTP-verzoek. Alleen verstrekt als extraInfoSpec 'requestBody' bevat.
- fout
tekenreeks optioneel
Fouten bij het verkrijgen van de lichaamsgegevens van het verzoek.
- formulierGegevens
object optioneel
Als de verzoekmethode POST is en de hoofdtekst 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 voor elke sleutel de lijst met alle waarden voor die sleutel. Als de gegevens van een ander mediatype zijn of een verkeerde indeling hebben, is het woordenboek niet aanwezig. Een voorbeeldwaarde van dit woordenboek is {'key': ['value1', 'value2']}.
- rauw
Uploadgegevens [] optioneel
Als de aanvraagmethode PUT of POST is en de hoofdtekst nog niet is geparseerd in formData, bevinden de niet-geparseerde hoofdtekstelementen van de aanvraag zich in deze array.
- verzoekID
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 met elkaar in verband te brengen.
- tabId
nummer
De ID van het tabblad waarop de aanvraag plaatsvindt. Stel in 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
- retourneert
Blokkeerreactie | ongedefinieerd
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 voordat een HTTP-verzoek wordt verzonden, zodra de verzoekheaders beschikbaar zijn. Dit kan gebeuren nadat er een TCP-verbinding met de server tot stand is gebracht, maar voordat er HTTP-gegevens zijn verzonden.
Parameters
- terugbellen
functie
De
callback
parameter ziet er als volgt uit:(details: object) => BlockingResponse | undefined
- details
voorwerp
- documentId
snaar
Chroom 106+De UUID van het document dat het verzoek doet.
- documentLevenscyclusChroom 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. - frametypeChroom 106+
Het type frame waarin het verzoek heeft plaatsgevonden.
- initiatiefnemer
tekenreeks optioneel
Chroom 63+De oorsprong waar het verzoek is geïnitieerd. Dit verandert niet door omleidingen. Als dit een ondoorzichtige oorsprong is, wordt de string 'null' gebruikt.
- methode
snaar
Standaard HTTP-methode.
- parentDocumentId
tekenreeks optioneel
Chroom 106+De UUID van het bovenliggende document dat eigenaar is van dit frame. Dit wordt niet ingesteld als er geen ouder is.
- ouderFrameId
nummer
ID van het frame dat het frame omsluit dat het verzoek heeft verzonden. Stel in op -1 als er geen bovenliggend frame bestaat.
- verzoekHeaders
HttpHeaders optioneel
De HTTP-verzoekheaders die met dit verzoek worden verzonden.
- verzoekID
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 met elkaar in verband te brengen.
- tabId
nummer
De ID van het tabblad waarop de aanvraag plaatsvindt. Stel in 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
- retourneert
Blokkeerreactie | ongedefinieerd
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
parameter ziet er als volgt uit:(details: object) => void
- details
voorwerp
- documentId
snaar
Chroom 106+De UUID van het document dat het verzoek doet.
- documentLevenscyclusChroom 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. - frametypeChroom 106+
Het type frame waarin het verzoek heeft plaatsgevonden.
- van Cache
Booleaans
Geeft aan of dit antwoord is opgehaald uit de schijfcache.
- initiatiefnemer
tekenreeks optioneel
Chroom 63+De oorsprong waar het verzoek is geïnitieerd. Dit verandert niet door omleidingen. Als dit een ondoorzichtige oorsprong is, wordt de string 'null' gebruikt.
- ip
tekenreeks optioneel
Het IP-adres van de server waarnaar het verzoek daadwerkelijk is verzonden. Houd er rekening mee dat het een letterlijk IPv6-adres kan zijn.
- methode
snaar
Standaard HTTP-methode.
- parentDocumentId
tekenreeks optioneel
Chroom 106+De UUID van het bovenliggende document dat eigenaar is van dit frame. Dit wordt 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.
- verzoekID
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.
- tabId
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 er als volgt uit:(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
Booleaans
Geeft aan of deze reactie is opgehaald uit schijfcache.
- initiatiefnemer
tekenreeks optioneel
Chroom 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
tekenreeks 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
tekenreeks 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.
- verzoekID
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.
- tabId
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 er als volgt uit:(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
tekenreeks optioneel
Chroom 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
tekenreeks 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.
- verzoekID
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
Chroom 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).
- tabId
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
- retourneert
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 er als volgt uit:(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
Booleaans
Geeft aan of deze reactie is opgehaald uit schijfcache.
- initiatiefnemer
tekenreeks optioneel
Chroom 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
tekenreeks 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
tekenreeks 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.
- verzoekID
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.
- tabId
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 er als volgt uit:(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
tekenreeks optioneel
Chroom 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
tekenreeks 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.
- verzoekID
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.
- tabId
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