chrome.webRequest

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:

Levenscyclus van een webverzoek vanuit het perspectief van de webrequest API

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) en image (een afbeelding op een website). Zie webRequest.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's ws:// en wss:// 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 mag responseHeaders voor elk verzoek wijzigen).

FormDataItem

Chroom 66+

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

Chroom 70+

Enum

"doorsturen"

"request_headers"

"response_headers"

"auth_credentials"

OnAuthRequiredOptions

Chroom 44+

Enum

"responseHeaders"
Hiermee geeft u op dat de antwoordheaders in de gebeurtenis moeten worden opgenomen.

"blokkeren"
Geeft aan dat de aanvraag wordt geblokkeerd totdat de callback-functie terugkeert.

"asynchrone blokkering"
Geeft aan dat de callback-functie asynchroon wordt afgehandeld.

"extraHeaders"
Geeft aan dat headers Cross-Origin Resource Sharing (CORS) kunnen schenden.

OnBeforeRedirectOptions

Chroom 44+

Enum

"responseHeaders"
Hiermee geeft u op dat de antwoordheaders in de gebeurtenis moeten worden opgenomen.

"extraHeaders"
Geeft aan dat headers Cross-Origin Resource Sharing (CORS) kunnen schenden.

OnBeforeRequestOptions

Chroom 44+

Enum

"blokkeren"
Geeft aan dat de aanvraag wordt geblokkeerd totdat de callback-functie terugkeert.

"requestBody"
Geeft aan dat de aanvraagtekst in de gebeurtenis moet worden opgenomen.

"extraHeaders"
Geeft aan dat headers Cross-Origin Resource Sharing (CORS) kunnen schenden.

OnBeforeSendHeadersOptions

Chroom 44+

Enum

"requestHeaders"
Geeft aan dat de verzoekheader in de gebeurtenis moet worden opgenomen.

"blokkeren"
Geeft aan dat de aanvraag wordt geblokkeerd totdat de callback-functie terugkeert.

"extraHeaders"
Geeft aan dat headers Cross-Origin Resource Sharing (CORS) kunnen schenden.

OnCompletedOptions

Chroom 44+

Enum

"responseHeaders"
Hiermee geeft u op dat de antwoordheaders in de gebeurtenis moeten worden opgenomen.

"extraHeaders"
Geeft aan dat headers Cross-Origin Resource Sharing (CORS) kunnen schenden.

OnErrorOccurredOptions

Chroom 79+

Waarde

"extraHeaders"

OnHeadersReceivedOptions

Chroom 44+

Enum

"blokkeren"
Geeft aan dat de aanvraag wordt geblokkeerd totdat de callback-functie terugkeert.

"responseHeaders"
Hiermee geeft u op dat de antwoordheaders in de gebeurtenis moeten worden opgenomen.

"extraHeaders"
Geeft aan dat headers Cross-Origin Resource Sharing (CORS) kunnen schenden.

OnResponseStartedOptions

Chroom 44+

Enum

"responseHeaders"
Hiermee geeft u op dat de antwoordheaders in de gebeurtenis moeten worden opgenomen.

"extraHeaders"
Geeft aan dat headers Cross-Origin Resource Sharing (CORS) kunnen schenden.

OnSendHeadersOptions

Chroom 44+

Enum

"requestHeaders"
Geeft aan dat de verzoekheader in de gebeurtenis moet worden opgenomen.

"extraHeaders"
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

Chroom 44+

Enum

"hoofdframe"
Specificeert de bron als het hoofdframe.

"subframe"
Specificeert de bron als een subframe.

"stijlblad"
Specificeert de bron als een stylesheet.

"script"
Specificeert de bron als een script.

"afbeelding"
Specificeert de bron als een afbeelding.

"lettertype"
Specificeert de bron als lettertype.

"voorwerp"
Specificeert de bron als een object.

"xmlhttpverzoek"
Specificeert de bron als een XMLHttpRequest.

"ping"
Specificeert de bron als een ping.

"csp_rapport"
Specificeert de bron als een Content Security Policy (CSP)-rapport.

"media"
Specificeert de bron als een mediaobject.

"websocket"
Hiermee geeft u de bron op als een WebSocket.

"webbundel"
Specificeert de bron als een WebBundle.

"ander"
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()

Belofte
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

Chroom 70+
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

      • 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.

      • documentLevenscyclus
        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 is main_frame of sub_frame ), geeft frameId de ID van dit frame aan, niet de ID van het buitenste frame. Frame-ID's zijn uniek binnen een tabblad.

      • 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.

      • 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

    • retourneert

      Blokkeerreactie | ongedefinieerd

      Als "blocking" is opgegeven in de parameter "extraInfoSpec", moet de gebeurtenislistener een object van dit type retourneren.

  • 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.

      • documentLevenscyclus
        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 is main_frame of sub_frame ), geeft frameId de ID van dit frame aan, niet de ID van het buitenste frame. Frame-ID's zijn uniek binnen een tabblad.

      • Chroom 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

  • extraInfoSpec

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
        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 is main_frame of sub_frame ), geeft frameId de ID van dit frame aan, niet de ID van het buitenste frame. Frame-ID's zijn uniek binnen een tabblad.

      • frametype
        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.

  • extraInfoSpec

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.

      • documentLevenscyclus
        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 is main_frame of sub_frame ), geeft frameId de ID van dit frame aan, niet de ID van het buitenste frame. Frame-ID's zijn uniek binnen een tabblad.

      • 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.

      • 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.

  • extraInfoSpec

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.

      • documentLevenscyclus
        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 is main_frame of sub_frame ), geeft frameId de ID van dit frame aan, niet de ID van het buitenste frame. Frame-ID's zijn uniek binnen een tabblad.

      • Chroom 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.

      • 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.

      • Chrome 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 is main_frame of sub_frame ), geeft frameId de ID van dit frame aan, niet de ID van het buitenste frame. Frame -ID's zijn uniek binnen een tabblad.

      • Chrome 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.

      • Hoe de gevraagde bron zal worden gebruikt.

      • URL

        snaar

  • filter
  • extreemfospec

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.

      • Chrome 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 is main_frame of sub_frame ), geeft frameId de ID van dit frame aan, niet de ID van het buitenste frame. Frame -ID's zijn uniek binnen een tabblad.

      • Chrome 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.

      • 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

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.

      • Chrome 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 is main_frame of sub_frame ), geeft frameId de ID van dit frame aan, niet de ID van het buitenste frame. Frame -ID's zijn uniek binnen een tabblad.

      • Chrome 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.

      • Hoe de gevraagde bron zal worden gebruikt.

      • URL

        snaar

  • filter
  • extreemfospec

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.

      • Chrome 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 is main_frame of sub_frame ), geeft frameId de ID van dit frame aan, niet de ID van het buitenste frame. Frame -ID's zijn uniek binnen een tabblad.

      • Chrome 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.

      • Hoe de gevraagde bron zal worden gebruikt.

      • URL

        snaar

  • filter
  • extreemfospec

    ONSENDHEIDERSOPTIONS [] optioneel