browser.webRequest

Beschrijving

Gebruik de chrome.webRequest API om verkeer te observeren en te analyseren en om verzoeken tijdens de uitvoering te onderscheppen, te blokkeren of aan te passen.

Rechten

webRequest

Je moet de "webRequest" toestemming definiëren in het extensiemanifest om de webverzoek API te gebruiken, samen met de vereiste hostrechten. Als de extensie een verzoek voor een subresource wil onderscheppen, moet deze toegang hebben tot zowel de gevraagde URL als de initiator. Voorbeeld:

{
  "name": "My extension",
  ...
  "permissions": [
    "webRequest"
  ],
  "host_permissions": [
    "*://*.google.com/*"
  ],
  ...
}

webRequestBlocking

Vereist om blokkerende gebeurtenishandlers te registreren. Vanaf Manifest V3 is dit alleen beschikbaar voor extensies die via beleid zijn geïnstalleerd.

webRequestAuthProvider

Vereist om de methode onAuthRequired te gebruiken. Ga naar Verificatie verwerken.

Concepten en gebruik

Levenscyclus van verzoeken

De API voor webverzoeken definieert een reeks gebeurtenissen die de levenscyclus van een webverzoek volgen. U kunt deze gebeurtenissen gebruiken om verkeer te observeren en te analyseren. Met bepaalde synchrone gebeurtenissen kun je een verzoek onderscheppen, blokkeren of aanpassen.

De levenscyclus van gebeurtenissen voor geslaagde verzoeken wordt hier geïllustreerd, gevolgd door gebeurtenisdefinities:

Levenscyclus van een webverzoek vanuit het perspectief van de webrequest-API

onBeforeRequest (optioneel synchroon)
Wordt geactiveerd als er een verzoek op het punt staat plaats te vinden. Deze gebeurtenis wordt gestuurd voordat er een TCP-verbinding wordt gemaakt en kan worden gebruikt om verzoeken te annuleren of om te leiden.
onBeforeSendHeaders (optioneel synchroon)
Wordt geactiveerd als er een verzoek op het punt staat plaats te vinden en de eerste headers zijn voorbereid. De gebeurtenis is bedoeld om extensies toe te staan verzoekheaders toe te voegen, aan te passen en te verwijderen (*). De gebeurtenis onBeforeSendHeaders wordt doorgegeven aan alle abonnees, dus verschillende abonnees kunnen proberen het verzoek aan te passen. Ga naar het gedeelte Implementatiegegevens 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 aan te passen en presenteert de uiteindelijke (*) versie. De gebeurtenis wordt geactiveerd voordat de headers naar het netwerk worden gestuurd. Deze gebeurtenis is informatief en wordt asynchroon afgehandeld. Het verzoek kan niet worden gewijzigd of geannuleerd.
onHeadersReceived (optioneel synchroon)
Wordt geactiveerd elke keer dat er een HTTP(S)-reactieheader wordt ontvangen. Vanwege omleidingen en verificatieverzoeken kan dit meerdere keren per verzoek gebeuren. Met deze gebeurtenis kunnen extensies reactieheaders toevoegen, aanpassen en verwijderen, zoals inkomende Content-Type-headers. De cache-instructies worden verwerkt voordat deze gebeurtenis wordt geactiveerd. Als je headers zoals Cache-Control aanpast, heeft dit geen invloed op het cachegeheugen van de browser. Je kunt het verzoek ook annuleren of omleiden.
onAuthRequired (optioneel synchroon)
Wordt geactiveerd als een verzoek verificatie van de gebruiker vereist. Deze gebeurtenis kan synchroon worden verwerkt om authenticatiegegevens te verstrekken. Extensies kunnen ongeldige inloggegevens verstrekken. Zorg dat u niet in een oneindige lus terechtkomt door herhaaldelijk ongeldige inloggegevens in te voeren. Je kunt dit ook gebruiken om het verzoek te annuleren.
onBeforeRedirect
Wordt geactiveerd als een omleiding wordt uitgevoerd. Een omleiding kan worden geactiveerd door een HTTP-reactiecode of door een extensie. Deze gebeurtenis is informatief en wordt asynchroon verwerkt. Je kunt het verzoek niet aanpassen of annuleren.
onResponseStarted
Wordt geactiveerd wanneer de eerste byte van de antwoordtekst wordt ontvangen. Voor HTTP-verzoeken betekent dit dat de statusregel en reactieheaders beschikbaar zijn. Deze gebeurtenis is informatief en wordt asynchroon verwerkt. Je kunt het verzoek niet wijzigen of annuleren.
onCompleted
Wordt geactiveerd als een verzoek is verwerkt.
onErrorOccurred
Wordt geactiveerd als een verzoek niet 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 laatste gerapporteerde gebeurtenis.

* De webverzoek API biedt een abstractie van de netwerkstack voor de extensie. Intern kan één URL-verzoek worden opgesplitst in verschillende HTTP-verzoeken (bijvoorbeeld om afzonderlijke bytebereiken op te halen uit een groot bestand) of kan het worden verwerkt door de netwerkstack zonder te communiceren met het netwerk. Daarom biedt de API niet de uiteindelijke HTTP-headers die naar het netwerk worden gestuurd. Alle headers die te maken hebben met caching, zijn bijvoorbeeld onzichtbaar voor de extensie.

De volgende headers worden op dit moment niet verstrekt aan de gebeurtenis onBeforeSendHeaders. We kunnen niet garanderen dat deze lijst volledig of stabiel is.

  • Machtiging
  • Cachebeheer
  • Verbinding
  • Content-Length
  • Host
  • If-Modified-Since
  • If-None-Match
  • If-Range
  • Gedeeltelijke gegevens
  • Pragma
  • Proxy-Authorization
  • Proxy-Connection
  • Transfer-Encoding

Vanaf Chrome 79 hebben wijzigingen in verzoekheaders invloed op cross-origin resource sharing (CORS)-controles. Als aangepaste headers voor cross-origin-verzoeken niet aan de criteria voldoen, wordt er een CORS-pre-flight gestuurd om de server te vragen of dergelijke headers kunnen worden geaccepteerd. Als je headers echt moet aanpassen op een manier die het CORS-protocol schendt, moet je 'extraHeaders' invoeren in opt_extraInfoSpec. Aanpassingen van reactieheaders werken niet om CORS-controles te misleiden. Als je het CORS-protocol wilt misleiden, moet je ook 'extraHeaders' invoeren voor de reactiewijzigingen.

Vanaf Chrome 79 onderschept de webRequest API standaard geen CORS-preflightverzoeken en -reacties. Een CORS-preflight voor een verzoek-URL is zichtbaar voor een extensie als er een listener is met 'extraHeaders' gespecificeerd in opt_extraInfoSpec voor de verzoek-URL. onBeforeRequest kan ook 'extraHeaders' gebruiken vanaf Chrome 79.

Vanaf Chrome 79 wordt de volgende verzoekheader niet verstrekt en kan deze niet worden aangepast of verwijderd zonder 'extraHeaders' te specificeren in opt_extraInfoSpec:

  • Origin

Als je vanaf Chrome 72 reacties wilt aanpassen voordat Cross Origin Read Blocking (CORB) de reactie kan blokkeren, moet je 'extraHeaders' opgeven in opt_extraInfoSpec.

Vanaf Chrome 72 worden de volgende verzoekheaders niet verstrekt en kunnen ze niet worden aangepast of verwijderd zonder 'extraHeaders' te specificeren in opt_extraInfoSpec:

  • Accept-Language
  • Accept-Encoding
  • Referer
  • Cookie

Vanaf Chrome 72 wordt de reactieheader Set-Cookie niet verstrekt en kan deze niet worden aangepast of verwijderd zonder 'extraHeaders' te specificeren in opt_extraInfoSpec.

Vanaf Chrome 89 kan de reactieheader X-Frame-Options niet effectief worden aangepast of verwijderd zonder 'extraHeaders' te specificeren in opt_extraInfoSpec.

De webRequest API toont alleen verzoeken die de extensie mag zien op basis van de hostrechten. Bovendien zijn alleen de volgende schema's toegankelijk: http://, https://, ftp://, file://, ws:// (sinds Chrome 58), wss:// (sinds Chrome 58), urn: (sinds Chrome 91) of chrome-extension://. Daarnaast worden zelfs bepaalde verzoeken met URL's die een van de bovenstaande schema's gebruiken, verborgen. Dit omvat chrome-extension://other_extension_id waarbij other_extension_id niet de ID is van de extensie die het verzoek moet verwerken, https://www.google.com/chrome en andere gevoelige verzoeken die essentieel zijn voor de browserfunctionaliteit. Ook synchrone XMLHttpRequests van je extensie worden verborgen voor blokkerende gebeurtenis-handlers om deadlocks te voorkomen. Voor sommige van de ondersteunde schema's is de set beschikbare gebeurtenissen misschien beperkt vanwege de aard van het bijbehorende protocol. Voor het bestandsschema 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 via een HTTP-upgradeverzoek, past de flow in het HTTP-georiënteerde webRequest-model. De API onderschept het volgende niet:

  • Afzonderlijke berichten die worden gestuurd via een tot stand gebrachte WebSocket-verbinding.
  • WebSocket-verbinding wordt verbroken.

Omleidingen worden niet ondersteund voor WebSocket-verzoeken.

Vanaf Chrome 72 kan een extensie een verzoek alleen onderscheppen als deze hostrechten heeft voor zowel de gevraagde URL als de verzoekinitiator.

Vanaf Chrome 96 ondersteunt de webRequest API het onderscheppen van het WebTransport via HTTP/3-handshake-verzoek. Omdat de handshake wordt uitgevoerd via een HTTP CONNECT-verzoek, past de flow in het HTTP-georiënteerde webRequest-model. Houd rekening met het volgende:

  • Nadat de sessie is gestart, kunnen extensies de sessie niet observeren of erin tussenbeide komen via de webRequest API.
  • Wijzigingen in HTTP-verzoekheaders in onBeforeSendHeaders worden genegeerd.
  • Omleidingen en verificaties worden niet ondersteund in WebTransport via HTTP/3.

Verzoek-ID's

Elk verzoek wordt geïdentificeerd door een verzoek-ID. Deze ID is uniek binnen een browsersessie en de context van een extensie. Deze blijft constant tijdens de levenscyclus van een verzoek en kan worden gebruikt om gebeurtenissen voor hetzelfde verzoek te matchen. Meerdere HTTP-verzoeken worden toegewezen aan één webverzoek in het geval van HTTP-omleiding of HTTP-verificatie.

Event-listeners registreren

Als je een event-listener wilt registreren voor een webverzoek, gebruik je een variant op de gebruikelijke functie addListener(). Naast een callbackfunctie moet je een filterargument invoeren. Je kunt ook een optioneel argument voor extra informatie invoeren.

De 3 argumenten voor de addListener() van de webverzoek-API hebben de volgende definities:

var callback = function(details) {...};
var filter = {...};
var opt_extraInfoSpec = [...];

Hier volgt een voorbeeld van luisteren naar de gebeurtenis onBeforeRequest:

browser.webRequest.onBeforeRequest.addListener(
    callback, filter, opt_extraInfoSpec);

Elke addListener()-aanroep heeft een verplichte callbackfunctie als eerste parameter. Deze callbackfunctie krijgt een woordenboek met informatie over het huidige URL-verzoek. De informatie in deze dictionary is afhankelijk van het specifieke gebeurtenistype en de content van opt_extraInfoSpec.

Als de optionele opt_extraInfoSpec-matrix de tekenreeks 'blocking' bevat (alleen toegestaan voor specifieke gebeurtenissen), wordt de callbackfunctie synchroon verwerkt. Dit betekent dat het verzoek wordt geblokkeerd totdat de callbackfunctie wordt geretourneerd. In dit geval kan de callback een webRequest.BlockingResponse retourneren die de verdere levenscyclus van het verzoek bepaalt. Afhankelijk van de context kun je met deze reactie een verzoek annuleren of omleiden (onBeforeRequest), een verzoek annuleren of headers aanpassen (onBeforeSendHeaders, onHeadersReceived) en een verzoek annuleren of inloggegevens voor verificatie verstrekken (onAuthRequired).

Als de optionele array opt_extraInfoSpec de tekenreeks 'asyncBlocking' bevat (alleen toegestaan voor onAuthRequired), kan de extensie de webRequest.BlockingResponse asynchroon genereren.

Met de webRequest.RequestFilter filter kunt u de verzoeken beperken waarvoor gebeurtenissen worden geactiveerd in verschillende dimensies:

URL's
URL-patronen zoals *://www.google.com/foo*bar.
Typen
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). Ga naar webRequest.RequestFilter.
Tabblad-ID
De ID voor één tabblad.
Venster-ID
De ID voor een venster.

Afhankelijk van het gebeurtenistype kun je tekenreeksen invoeren in opt_extraInfoSpec om aanvullende informatie over het verzoek te vragen. Dit wordt gebruikt om alleen gedetailleerde informatie over de gegevens van het verzoek te geven als hier expliciet om wordt gevraagd.

Verificatie verwerken

Als je verzoeken voor HTTP-verificatie wilt verwerken, voeg je het recht "webRequestAuthProvider" toe aan je manifestbestand:

{
  "permissions": [
    "webRequest",
    "webRequestAuthProvider"
  ]
}

Dit recht is niet vereist voor een extensie die is geïnstalleerd via beleid met het recht "webRequestBlocking".

Zo verstrek je inloggegevens synchroon:

browser.webRequest.onAuthRequired.addListener((details) => {
    return {
      authCredentials: {
        username: 'guest',
        password: 'guest'
      }
    };
  },
  { urls: ['https://httpbin.org/basic-auth/guest/guest'] },
  ['blocking']
);

Zo verstrek je inloggegevens asynchroon:

browser.webRequest.onAuthRequired.addListener((details, callback) => {
    callback({
      authCredentials: {
        username: 'guest',
        password: 'guest'
      }
    });
  },
  { urls: ['https://httpbin.org/basic-auth/guest/guest'] },
  ['asyncBlocking']
);

Implementatiedetails

Het is belangrijk om een aantal implementatiedetails te begrijpen als je een extensie ontwikkelt die de webverzoek API gebruikt:

web_accessible_resources

Als een extensie webRequest-API's gebruikt om een openbaar bronverzoek om te leiden naar een bron die niet toegankelijk is via internet, wordt deze geblokkeerd en krijg je een foutmelding. Het bovenstaande geldt zelfs als de bron die niet toegankelijk is via het web, eigendom is van de omleidende extensie. Als je bronnen wilt declareren voor gebruik met declarativeWebRequest-API's, moet de "web_accessible_resources"-matrix worden gedeclareerd en ingevuld in het manifest, zoals hier wordt beschreven.

Conflictoplossing

In de huidige implementatie van de Web Request API wordt een verzoek als geannuleerd beschouwd als minstens één extensie opdracht geeft het verzoek te annuleren. Als een extensie een verzoek annuleert, krijgen alle extensies een melding via een onErrorOccurred-gebeurtenis. Er kan maar één extensie tegelijk een verzoek omleiden of een kop wijzigen. Als meer dan één extensie het verzoek probeert aan te passen, wint de meest recent geïnstalleerde extensie en worden alle andere genegeerd. Een extensie krijgt geen melding als de instructie om te wijzigen of om te leiden is genegeerd.

Opslaan in cachegeheugen

Chrome gebruikt 2 caches: een schijfcache en een zeer snelle geheugencache. De levensduur van een geheugencache is gekoppeld aan de levensduur van een weergaveproces, dat ongeveer overeenkomt met een tabblad. Verzoeken die worden beantwoord vanuit het in-memory cachegeheugen, zijn onzichtbaar voor de webverzoek-API. Als een verzoekhandler het gedrag wijzigt (bijvoorbeeld het gedrag volgens welke verzoeken worden geblokkeerd), wordt dit gewijzigde gedrag misschien niet gerespecteerd als de pagina wordt vernieuwd. Roep handlerBehaviorChanged() aan om de geheugencache te wissen, zodat de gedragswijziging wordt doorgevoerd. Doe dit niet te vaak, want het wissen van het cachegeheugen is een zeer kostbare bewerking. U hoeft handlerBehaviorChanged() niet aan te roepen nadat u een event-listener heeft geregistreerd of de registratie ervan ongedaan heeft gemaakt.

Tijdstempels

De property timestamp van webverzoekgebeurtenissen is alleen gegarandeerd intern consistent. Als je de ene gebeurtenis met de andere vergelijkt, krijg je de juiste offset tussen de gebeurtenissen, maar als je ze vergelijkt met de huidige tijd in de extensie (bijvoorbeeld via (new Date()).getTime()), kan dit onverwachte resultaten opleveren.

Probleemoplossing

Als u een gebeurtenis probeert te registreren met ongeldige argumenten, wordt er een JavaScript-fout gegenereerd en wordt de gebeurtenishandler niet geregistreerd. Als er een fout optreedt terwijl een gebeurtenis wordt verwerkt of als een gebeurtenishandler een ongeldige blokkeringsreactie retourneert, wordt er een foutmelding geregistreerd in de console van je extensie en wordt de handler genegeerd voor dat verzoek.

Voorbeelden

In het volgende voorbeeld wordt getoond hoe u alle verzoeken aan www.evil.com blokkeert:

browser.webRequest.onBeforeRequest.addListener(
  function(details) {
    return {cancel: details.url.indexOf("://www.evil.com/") != -1};
  },
  {urls: ["<all_urls>"]},
  ["blocking"]
);

Omdat deze functie een blokkerende gebeurtenishandler gebruikt, zijn de rechten "webRequest" en "webRequestBlocking" vereist in het manifestbestand.

In het volgende voorbeeld wordt hetzelfde doel op een efficiëntere manier bereikt, omdat verzoeken die niet zijn getarget op www.evil.com niet hoeven te worden doorgegeven aan de extensie:

browser.webRequest.onBeforeRequest.addListener(
  function(details) { return {cancel: true}; },
  {urls: ["*://www.evil.com/*"]},
  ["blocking"]
);

In het volgende voorbeeld wordt getoond hoe je de User-Agent-header uit alle verzoeken verwijdert:

browser.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 je de browser.webRequest API wilt proberen, installeer je het webRequest-voorbeeld uit de repository chrome-extension-samples.

Typen

BlockingResponse

Retourneert de waarde voor gebeurtenishandlers waarop de extraInfoSpec 'blocking' is toegepast. Hiermee kan de gebeurtenishandler netwerkverzoeken aanpassen.

Eigenschappen

  • authCredentials

    object optioneel

    Wordt alleen gebruikt als reactie op de gebeurtenis onAuthRequired. Als je dit instelt, wordt het verzoek gedaan met de ingevoerde inloggegevens.

    • wachtwoord

      tekenreeks

    • gebruikersnaam

      tekenreeks

  • annuleren

    booleaans optioneel

    Als dit waar is, wordt het verzoek geannuleerd. Zo voorkom je dat het verzoek wordt gestuurd. 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. Als je dit beleid instelt, wordt het oorspronkelijke verzoek niet gestuurd/afgerond, maar omgeleid naar de opgegeven URL. Omleidingen naar niet-HTTP-schema's zoals data: zijn toegestaan. Omleidingen die worden gestart door een omleidingsactie, gebruiken de oorspronkelijke verzoekmethode voor de omleiding, met één uitzondering: als de omleiding wordt gestart in de fase onHeadersReceived, wordt de omleiding uitgevoerd met de GET-methode. Omleidingen van URL's met ws://- en wss://-schema's worden genegeerd.

  • requestHeaders

    HttpHeaders optioneel

    Alleen gebruikt als reactie op de gebeurtenis onBeforeSendHeaders. Als deze optie is ingesteld, wordt het verzoek in plaats daarvan gedaan met deze verzoekheaders.

  • responseHeaders

    HttpHeaders optioneel

    Wordt alleen gebruikt als reactie op de gebeurtenis onHeadersReceived. Als deze optie is ingesteld, wordt ervan uitgegaan dat de server heeft gereageerd met deze reactieheaders. Retourneer responseHeaders alleen als je de headers echt wilt aanpassen om het aantal conflicten te beperken (slechts één extensie mag responseHeaders aanpassen voor elk verzoek).

FormDataItem

Chrome 66+ browser.* sinds Chrome 148

Bevat gegevens die zijn doorgegeven in formuliergegevens. Voor een urlencoded formulier wordt het opgeslagen als tekenreeks als de gegevens een utf-8-tekenreeks zijn en anders als ArrayBuffer. Voor formuliergegevens is dit ArrayBuffer. Als formuliergegevens een uploadbestand vertegenwoordigen, is dit een tekenreeks met de bestandsnaam, als de bestandsnaam is verstrekt.

Enum

ArrayBuffer

tekenreeks

HttpHeaders

Een matrix van HTTP-headers. Elke kop wordt weergegeven als een woordenboek met de sleutels name en value of binaryValue.

Type

object[]

Eigenschappen

  • binaryValue

    number[] optioneel

    Waarde van de HTTP-header als deze niet kan worden weergegeven door UTF-8, opgeslagen als afzonderlijke bytewaarden (0..255).

  • name

    tekenreeks

    Naam van de HTTP-header.

  • waarde

    tekenreeks optioneel

    Waarde van de HTTP-header als deze kan worden weergegeven door UTF-8.

IgnoredActionType

Chrome 70+ browser.* sinds Chrome 148

Enum

"redirect"

"request_headers"

"response_headers"

"auth_credentials"

OnAuthRequiredOptions

Chrome 44+ browser.* sinds Chrome 148

Enum

"responseHeaders"
Geeft aan dat de reactieheaders moeten worden opgenomen in de gebeurtenis.

"blocking"
Geeft aan dat het verzoek wordt geblokkeerd totdat de callbackfunctie wordt geretourneerd.

"asyncBlocking"
Geeft aan dat de callbackfunctie asynchroon wordt verwerkt.

"extraHeaders"
Hiermee geef je aan dat headers in strijd kunnen zijn met Cross-Origin Resource Sharing (CORS).

OnBeforeRedirectOptions

Chrome 44+ browser.* sinds Chrome 148

Enum

"responseHeaders"
Geeft aan dat de reactieheaders moeten worden opgenomen in de gebeurtenis.

"extraHeaders"
Hiermee geef je aan dat headers in strijd kunnen zijn met Cross-Origin Resource Sharing (CORS).

OnBeforeRequestOptions

Chrome 44+ browser.* sinds Chrome 148

Enum

"blocking"
Geeft aan dat het verzoek wordt geblokkeerd totdat de callbackfunctie wordt geretourneerd.

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

"extraHeaders"
Hiermee geef je aan dat headers in strijd kunnen zijn met Cross-Origin Resource Sharing (CORS).

OnBeforeSendHeadersOptions

Chrome 44+ browser.* sinds Chrome 148

Enum

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

"blocking"
Geeft aan dat het verzoek wordt geblokkeerd totdat de callbackfunctie wordt geretourneerd.

"extraHeaders"
Hiermee geef je aan dat headers in strijd kunnen zijn met Cross-Origin Resource Sharing (CORS).

OnCompletedOptions

Chrome 44+ browser.* sinds Chrome 148

Enum

"responseHeaders"
Geeft aan dat de reactieheaders moeten worden opgenomen in de gebeurtenis.

"extraHeaders"
Hiermee geef je aan dat headers in strijd kunnen zijn met Cross-Origin Resource Sharing (CORS).

OnErrorOccurredOptions

Chrome 79+ browser.* sinds Chrome 148

Waarde

"extraHeaders"

OnHeadersReceivedOptions

Chrome 44+ browser.* sinds Chrome 148

Enum

"blocking"
Geeft aan dat het verzoek wordt geblokkeerd totdat de callbackfunctie wordt geretourneerd.

"responseHeaders"
Geeft aan dat de reactieheaders moeten worden opgenomen in de gebeurtenis.

"extraHeaders"
Hiermee geef je aan dat headers in strijd kunnen zijn met Cross-Origin Resource Sharing (CORS).

"securityInfo"
Geeft aan dat de SecurityInfo moet worden opgenomen in de gebeurtenis.

"securityInfoRawDer"
Geeft aan dat de SecurityInfo met onbewerkte bytes van certificaten moet worden opgenomen in de gebeurtenis.

OnResponseStartedOptions

Chrome 44+ browser.* sinds Chrome 148

Enum

"responseHeaders"
Geeft aan dat de reactieheaders moeten worden opgenomen in de gebeurtenis.

"extraHeaders"
Hiermee geef je aan dat headers in strijd kunnen zijn met Cross-Origin Resource Sharing (CORS).

OnSendHeadersOptions

Chrome 44+ browser.* sinds Chrome 148

Enum

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

"extraHeaders"
Hiermee geef je aan dat headers in strijd kunnen zijn met Cross-Origin Resource Sharing (CORS).

RequestFilter

Een object dat filters beschrijft die moeten worden toegepast op webRequest-gebeurtenissen.

Eigenschappen

  • tabId

    number optioneel

  • typen

    ResourceType[] optioneel

    Een lijst met verzoektypen. Verzoeken die niet overeenkomen met een van de typen, worden weggefilterd.

  • URL’s

    tekenreeks[]

    Een lijst met URL's of URL-patronen. Verzoeken die niet overeenkomen met een van de URL's, worden weggefilterd.

  • windowId

    number optioneel

ResourceType

Chrome 44+ browser.* sinds Chrome 148

Enum

"main_frame"
Hiermee wordt de bron aangegeven als het hoofdframe.

"sub_frame"
Geeft aan dat de bron een subframe is.

"stylesheet"
Hiermee wordt de bron aangegeven als stylesheet.

"script"
Hiermee wordt de bron aangegeven als een script.

"image"
Hiermee wordt de bron gedefinieerd als een afbeelding.

"font"
Hiermee wordt de bron aangegeven als een lettertype.

"object"
Hiermee wordt de bron als een object gespecificeerd.

"xmlhttprequest"
Hiermee wordt de bron aangegeven als een XMLHttpRequest.

"ping"
Geeft de bron aan als een ping.

"csp_report"
Hiermee wordt de bron aangegeven als een Content Security Policy-rapport (CSP).

media
Hiermee wordt de bron gespecificeerd als een mediaobject.

"websocket"
Hiermee wordt de bron aangegeven als een WebSocket.

webbundle
Hiermee wordt de bron aangegeven als een WebBundle.

"other"
Hiermee wordt de bron aangegeven als een type dat niet is opgenomen in de vermelde typen.

SecurityInfo

Chrome 144+ browser.* sinds Chrome 148

Eigenschappen

  • certificates

    object[]

    Een lijst met certificaten

    • vingerafdruk

      object

      Vingerafdrukken van het certificaat.

      • sha256

        tekenreeks

        sha256-vingerafdruk van het certificaat.

    • rawDER

      ArrayBuffer optioneel

      Onbewerkte bytes van het DER-gecodeerde servercertificaat

  • status

    tekenreeks

    Status van de verbinding. Een van de volgende: beveiligd, onbeveiligd, verbroken.

UploadData

Bevat gegevens die zijn geüpload in een URL-verzoek.

Eigenschappen

  • bytes

    alleen 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 ononderbroken interval van 10 minuten. handlerBehaviorChanged is een dure functieaanroep die niet vaak moet worden aangeroepen.

Waarde

20

Methoden

handlerBehaviorChanged()

browser.webRequest.handlerBehaviorChanged(): Promise<void>

Moet worden aangeroepen als het gedrag van de webRequest-handlers is gewijzigd om onjuiste verwerking door caching te voorkomen. Deze functieaanroep is duur. Roep deze niet vaak aan.

Retourzendingen

  • Promise<void>

    Chrome 116+ browser.* sinds Chrome 148

Evenementen

onActionIgnored

Chrome 70+ browser.* sinds Chrome 148
browser.webRequest.onActionIgnored.addListener(
  callback: function,
)

Wordt geactiveerd als de voorgestelde wijziging van een extensie in een netwerkverzoek wordt genegeerd. Dit gebeurt als er conflicten zijn met andere extensies.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    (details: object) => void

    • details

      object

      • De voorgestelde actie die is genegeerd.

      • requestId

        tekenreeks

        De ID van het verzoek. Verzoek-ID's zijn uniek binnen een browsersessie. Daarom kunnen ze worden gebruikt om verschillende gebeurtenissen van hetzelfde verzoek aan elkaar te relateren.

onAuthRequired

browser.webRequest.onAuthRequired.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnAuthRequiredOptions[],
)

Wordt geactiveerd als er een verificatiefout wordt ontvangen. De listener heeft 3 opties: deze kan authenticatiegegevens verstrekken, het verzoek annuleren en de foutpagina tonen of geen actie ondernemen op de challenge. Als er onjuiste gebruikersgegevens worden verstrekt, kan deze methode meerdere keren worden aangeroepen voor hetzelfde verzoek. Let op: Er mag maar één van de modi 'blocking' of 'asyncBlocking' worden ingevoerd in de parameter extraInfoSpec.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    (details: object, asyncCallback?: function) => BlockingResponse | undefined

    • details

      object

      • uitdager

        object

        De server die om verificatie vraagt.

        • host

          tekenreeks

        • poort

          getal

      • documentId

        tekenreeks optioneel

        Chrome 106 of hoger browser.* sinds Chrome 148

        De UUID van het document dat het verzoek indient.

      • Chrome 106 of hoger browser.* sinds Chrome 148

        De levenscyclus waarin het document zich bevindt.

      • frameId

        getal

        De waarde 0 geeft aan dat het verzoek plaatsvindt in het hoofdframe. 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 of hoger browser.* sinds Chrome 148

        Het type frame waarin het verzoek is gedaan.

      • initiator

        tekenreeks optioneel

        Chrome 63+ browser.* sinds Chrome 148

        De oorsprong waar het verzoek is gestart. Dit verandert niet door omleidingen. Als dit een ondoorzichtige oorsprong is, wordt de tekenreeks 'null' gebruikt.

      • isProxy

        booleaans

        Waar voor Proxy-Authenticate, onwaar voor WWW-Authenticate.

      • method

        tekenreeks

        Standaard HTTP-methode.

      • parentDocumentId

        tekenreeks optioneel

        Chrome 106 of hoger browser.* sinds Chrome 148

        De UUID van het bovenliggende document dat eigenaar is van dit frame. Dit wordt niet ingesteld als er geen bovenliggende property is.

      • parentFrameId

        getal

        ID van het frame dat het frame omhult dat het verzoek heeft gestuurd. Stel deze waarde in op -1 als er geen bovenliggend frame is.

      • realm

        tekenreeks optioneel

        Het verificatiegebied dat door de server wordt geleverd, als dat er is.

      • requestId

        tekenreeks

        De ID van het verzoek. Verzoek-ID's zijn uniek binnen een browsersessie. Daarom kunnen ze worden gebruikt om verschillende gebeurtenissen van hetzelfde verzoek aan elkaar te relateren.

      • responseHeaders

        HttpHeaders optioneel

        De HTTP-reactieheaders die samen met deze reactie zijn ontvangen.

      • schema

        tekenreeks

        Het verificatieschema, bijvoorbeeld Basic of Digest.

      • statusCode

        getal

        Chrome 43+ browser.* sinds Chrome 148

        Standaard HTTP-statuscode die door de server wordt geretourneerd.

      • statusLine

        tekenreeks

        HTTP-statusregel van de reactie of de tekenreeks 'HTTP/0.9 200 OK' voor HTTP/0.9-reacties (reacties zonder statusregel) of een lege tekenreeks als er geen headers zijn.

      • tabId

        getal

        De ID van het tabblad waarin het verzoek plaatsvindt. Ingesteld op -1 als het verzoek niet is gerelateerd aan een tabblad.

      • timeStamp

        getal

        De tijd waarop dit signaal wordt geactiveerd, in milliseconden sinds het tijdvak.

      • Hoe de gevraagde resource wordt gebruikt.

      • url

        tekenreeks

    • asyncCallback

      functie optioneel

      Chrome 58 of hoger browser.* sinds Chrome 148

      De parameter asyncCallback ziet er zo uit:

      (response: BlockingResponse) => void

    • returns

      BlockingResponse | undefined

      Als 'blocking' is opgegeven in de parameter 'extraInfoSpec', moet de event-listener een object van dit type retourneren.

  • filter
  • extraInfoSpec

onBeforeRedirect

browser.webRequest.onBeforeRedirect.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnBeforeRedirectOptions[],
)

Wordt geactiveerd als er een door de server geïnitieerde omleiding gaat plaatsvinden.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    (details: object) => void

    • details

      object

      • documentId

        tekenreeks optioneel

        Chrome 106 of hoger browser.* sinds Chrome 148

        De UUID van het document dat het verzoek indient.

      • Chrome 106 of hoger browser.* sinds Chrome 148

        De levenscyclus waarin het document zich bevindt.

      • frameId

        getal

        De waarde 0 geeft aan dat het verzoek plaatsvindt in het hoofdframe. 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 of hoger browser.* sinds Chrome 148

        Het type frame waarin het verzoek is gedaan.

      • fromCache

        booleaans

        Geeft aan of deze reactie is opgehaald uit de schijfcache.

      • initiator

        tekenreeks optioneel

        Chrome 63+ browser.* sinds Chrome 148

        De oorsprong waar het verzoek is gestart. Dit verandert niet door omleidingen. Als dit een ondoorzichtige oorsprong is, wordt de tekenreeks 'null' gebruikt.

      • ip

        tekenreeks optioneel

        Het IP-adres van de server waarnaar het verzoek daadwerkelijk is gestuurd. Dit kan een letterlijk IPv6-adres zijn.

      • method

        tekenreeks

        Standaard HTTP-methode.

      • parentDocumentId

        tekenreeks optioneel

        Chrome 106 of hoger browser.* sinds Chrome 148

        De UUID van het bovenliggende document dat eigenaar is van dit frame. Dit wordt niet ingesteld als er geen bovenliggende property is.

      • parentFrameId

        getal

        ID van het frame dat het frame omhult dat het verzoek heeft gestuurd. Stel deze waarde in op -1 als er geen bovenliggend frame is.

      • redirectUrl

        tekenreeks

        De nieuwe URL.

      • requestId

        tekenreeks

        De ID van het verzoek. Verzoek-ID's zijn uniek binnen een browsersessie. Daarom kunnen ze worden gebruikt om verschillende gebeurtenissen van hetzelfde verzoek aan elkaar te relateren.

      • responseHeaders

        HttpHeaders optioneel

        De HTTP-reactieheaders die samen met deze omleiding zijn ontvangen.

      • statusCode

        getal

        Standaard HTTP-statuscode die door de server wordt geretourneerd.

      • statusLine

        tekenreeks

        HTTP-statusregel van de reactie of de tekenreeks 'HTTP/0.9 200 OK' voor HTTP/0.9-reacties (reacties zonder statusregel) of een lege tekenreeks als er geen headers zijn.

      • tabId

        getal

        De ID van het tabblad waarin het verzoek plaatsvindt. Ingesteld op -1 als het verzoek niet is gerelateerd aan een tabblad.

      • timeStamp

        getal

        De tijd waarop dit signaal wordt geactiveerd, in milliseconden sinds het tijdvak.

      • Hoe de gevraagde resource wordt gebruikt.

      • url

        tekenreeks

  • filter
  • extraInfoSpec

onBeforeRequest

browser.webRequest.onBeforeRequest.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnBeforeRequestOptions[],
)

Wordt geactiveerd als er een verzoek op het punt staat te worden uitgevoerd.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    (details: object) => BlockingResponse | undefined

    • details

      object

      • documentId

        tekenreeks optioneel

        Chrome 106 of hoger browser.* sinds Chrome 148

        De UUID van het document dat het verzoek indient.

      • documentLifecycle
        Chrome 106 of hoger browser.* sinds Chrome 148

        De levenscyclus waarin het document zich bevindt.

      • frameId

        getal

        De waarde 0 geeft aan dat het verzoek plaatsvindt in het hoofdframe. 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
        Chrome 106 of hoger browser.* sinds Chrome 148

        Het type frame waarin het verzoek is gedaan.

      • initiator

        tekenreeks optioneel

        Chrome 63+ browser.* sinds Chrome 148

        De oorsprong waar het verzoek is gestart. Dit verandert niet door omleidingen. Als dit een ondoorzichtige oorsprong is, wordt de tekenreeks 'null' gebruikt.

      • method

        tekenreeks

        Standaard HTTP-methode.

      • parentDocumentId

        tekenreeks optioneel

        Chrome 106 of hoger browser.* sinds Chrome 148

        De UUID van het bovenliggende document dat eigenaar is van dit frame. Dit wordt niet ingesteld als er geen bovenliggende property is.

      • parentFrameId

        getal

        ID van het frame dat het frame omhult dat het verzoek heeft gestuurd. Stel deze waarde in op -1 als er geen bovenliggend frame is.

      • requestBody

        object optioneel

        Bevat de gegevens van de HTTP-verzoektekst. Wordt alleen verstrekt als extraInfoSpec 'requestBody' bevat.

        • fout

          tekenreeks optioneel

          Fouten bij het ophalen van gegevens uit de hoofdtekst van het verzoek.

        • formData

          object optioneel

          Als de verzoekmethode POST is en de hoofdtekst een reeks sleutel/waarde-paren is die zijn gecodeerd in UTF8, gecodeerd als multipart/form-data of application/x-www-form-urlencoded, is deze dictionary aanwezig en bevat deze voor elke sleutel de lijst met alle waarden voor die sleutel. Als de gegevens van een ander mediatype zijn of als ze onjuist zijn opgemaakt, is de dictionary niet aanwezig. Een voorbeeldwaarde van deze woordenlijst is {'key': ['value1', 'value2']}.

        • onbewerkt

          UploadData[] optioneel

          Als de verzoekmethode PUT of POST is en de hoofdtekst nog niet is geparseerd in formData, bevat deze matrix de niet-geparseerde elementen van de verzoektekst.

      • requestId

        tekenreeks

        De ID van het verzoek. Verzoek-ID's zijn uniek binnen een browsersessie. Daarom kunnen ze worden gebruikt om verschillende gebeurtenissen van hetzelfde verzoek aan elkaar te relateren.

      • tabId

        getal

        De ID van het tabblad waarin het verzoek plaatsvindt. Ingesteld op -1 als het verzoek niet is gerelateerd aan een tabblad.

      • timeStamp

        getal

        De tijd waarop dit signaal wordt geactiveerd, in milliseconden sinds het tijdvak.

      • Hoe de gevraagde resource wordt gebruikt.

      • url

        tekenreeks

    • returns

      BlockingResponse | undefined

      Als 'blocking' is opgegeven in de parameter 'extraInfoSpec', moet de event-listener een object van dit type retourneren.

  • filter
  • extraInfoSpec

onBeforeSendHeaders

browser.webRequest.onBeforeSendHeaders.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnBeforeSendHeadersOptions[],
)

Wordt geactiveerd voordat een HTTP-verzoek wordt gestuurd, zodra de verzoekheaders beschikbaar zijn. Dit kan gebeuren nadat er een TCP-verbinding met de server is gemaakt, maar voordat er HTTP-gegevens zijn gestuurd.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    (details: object) => BlockingResponse | undefined

    • details

      object

      • documentId

        tekenreeks optioneel

        Chrome 106 of hoger browser.* sinds Chrome 148

        De UUID van het document dat het verzoek indient.

      • Chrome 106 of hoger browser.* sinds Chrome 148

        De levenscyclus waarin het document zich bevindt.

      • frameId

        getal

        De waarde 0 geeft aan dat het verzoek plaatsvindt in het hoofdframe. 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 of hoger browser.* sinds Chrome 148

        Het type frame waarin het verzoek is gedaan.

      • initiator

        tekenreeks optioneel

        Chrome 63+ browser.* sinds Chrome 148

        De oorsprong waar het verzoek is gestart. Dit verandert niet door omleidingen. Als dit een ondoorzichtige oorsprong is, wordt de tekenreeks 'null' gebruikt.

      • method

        tekenreeks

        Standaard HTTP-methode.

      • parentDocumentId

        tekenreeks optioneel

        Chrome 106 of hoger browser.* sinds Chrome 148

        De UUID van het bovenliggende document dat eigenaar is van dit frame. Dit wordt niet ingesteld als er geen bovenliggende property is.

      • parentFrameId

        getal

        ID van het frame dat het frame omhult dat het verzoek heeft gestuurd. Stel deze waarde in op -1 als er geen bovenliggend frame is.

      • requestHeaders

        HttpHeaders optioneel

        De HTTP-verzoekheaders die met dit verzoek worden verstuurd.

      • requestId

        tekenreeks

        De ID van het verzoek. Verzoek-ID's zijn uniek binnen een browsersessie. Daarom kunnen ze worden gebruikt om verschillende gebeurtenissen van hetzelfde verzoek aan elkaar te relateren.

      • tabId

        getal

        De ID van het tabblad waarin het verzoek plaatsvindt. Ingesteld op -1 als het verzoek niet is gerelateerd aan een tabblad.

      • timeStamp

        getal

        De tijd waarop dit signaal wordt geactiveerd, in milliseconden sinds het tijdvak.

      • Hoe de gevraagde resource wordt gebruikt.

      • url

        tekenreeks

    • returns

      BlockingResponse | undefined

      Als 'blocking' is opgegeven in de parameter 'extraInfoSpec', moet de event-listener een object van dit type retourneren.

  • filter
  • extraInfoSpec

onCompleted

browser.webRequest.onCompleted.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnCompletedOptions[],
)

Wordt geactiveerd als een verzoek is afgerond.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    (details: object) => void

    • details

      object

      • documentId

        tekenreeks optioneel

        Chrome 106 of hoger browser.* sinds Chrome 148

        De UUID van het document dat het verzoek indient.

      • Chrome 106 of hoger browser.* sinds Chrome 148

        De levenscyclus waarin het document zich bevindt.

      • frameId

        getal

        De waarde 0 geeft aan dat het verzoek plaatsvindt in het hoofdframe. 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 of hoger browser.* sinds Chrome 148

        Het type frame waarin het verzoek is gedaan.

      • fromCache

        booleaans

        Geeft aan of deze reactie is opgehaald uit de schijfcache.

      • initiator

        tekenreeks optioneel

        Chrome 63+ browser.* sinds Chrome 148

        De oorsprong waar het verzoek is gestart. Dit verandert niet door omleidingen. Als dit een ondoorzichtige oorsprong is, wordt de tekenreeks 'null' gebruikt.

      • ip

        tekenreeks optioneel

        Het IP-adres van de server waarnaar het verzoek daadwerkelijk is gestuurd. Dit kan een letterlijk IPv6-adres zijn.

      • method

        tekenreeks

        Standaard HTTP-methode.

      • parentDocumentId

        tekenreeks optioneel

        Chrome 106 of hoger browser.* sinds Chrome 148

        De UUID van het bovenliggende document dat eigenaar is van dit frame. Dit wordt niet ingesteld als er geen bovenliggende property is.

      • parentFrameId

        getal

        ID van het frame dat het frame omhult dat het verzoek heeft gestuurd. Stel deze waarde in op -1 als er geen bovenliggend frame is.

      • requestId

        tekenreeks

        De ID van het verzoek. Verzoek-ID's zijn uniek binnen een browsersessie. Daarom kunnen ze worden gebruikt om verschillende gebeurtenissen van hetzelfde verzoek aan elkaar te relateren.

      • responseHeaders

        HttpHeaders optioneel

        De HTTP-reactieheaders die samen met deze reactie zijn ontvangen.

      • statusCode

        getal

        Standaard HTTP-statuscode die door de server wordt geretourneerd.

      • statusLine

        tekenreeks

        HTTP-statusregel van de reactie of de tekenreeks 'HTTP/0.9 200 OK' voor HTTP/0.9-reacties (reacties zonder statusregel) of een lege tekenreeks als er geen headers zijn.

      • tabId

        getal

        De ID van het tabblad waarin het verzoek plaatsvindt. Ingesteld op -1 als het verzoek niet is gerelateerd aan een tabblad.

      • timeStamp

        getal

        De tijd waarop dit signaal wordt geactiveerd, in milliseconden sinds het tijdvak.

      • Hoe de gevraagde resource wordt gebruikt.

      • url

        tekenreeks

  • filter
  • extraInfoSpec

    OnCompletedOptions[] optioneel

onErrorOccurred

browser.webRequest.onErrorOccurred.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnErrorOccurredOptions[],
)

Wordt geactiveerd als er een fout optreedt.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    (details: object) => void

    • details

      object

      • documentId

        tekenreeks optioneel

        Chrome 106 of hoger browser.* sinds Chrome 148

        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 of hoger browser.* sinds Chrome 148

        De levenscyclus waarin het document zich bevindt.

      • fout

        tekenreeks

        De foutbeschrijving. We kunnen niet garanderen dat deze tekenreeks compatibel blijft met eerdere versies. U mag de content niet parseren en er niet op basis van handelen.

      • frameId

        getal

        De waarde 0 geeft aan dat het verzoek plaatsvindt in het hoofdframe. 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 of hoger browser.* sinds Chrome 148

        Het type frame waarin het verzoek is gedaan.

      • fromCache

        booleaans

        Geeft aan of deze reactie is opgehaald uit de schijfcache.

      • initiator

        tekenreeks optioneel

        Chrome 63+ browser.* sinds Chrome 148

        De oorsprong waar het verzoek is gestart. Dit verandert niet door omleidingen. Als dit een ondoorzichtige oorsprong is, wordt de tekenreeks 'null' gebruikt.

      • ip

        tekenreeks optioneel

        Het IP-adres van de server waarnaar het verzoek daadwerkelijk is gestuurd. Dit kan een letterlijk IPv6-adres zijn.

      • method

        tekenreeks

        Standaard HTTP-methode.

      • parentDocumentId

        tekenreeks optioneel

        Chrome 106 of hoger browser.* sinds Chrome 148

        De UUID van het bovenliggende document dat eigenaar is van dit frame. Dit wordt niet ingesteld als er geen bovenliggende property is.

      • parentFrameId

        getal

        ID van het frame dat het frame omhult dat het verzoek heeft gestuurd. Stel deze waarde in op -1 als er geen bovenliggend frame is.

      • requestId

        tekenreeks

        De ID van het verzoek. Verzoek-ID's zijn uniek binnen een browsersessie. Daarom kunnen ze worden gebruikt om verschillende gebeurtenissen van hetzelfde verzoek aan elkaar te relateren.

      • tabId

        getal

        De ID van het tabblad waarin het verzoek plaatsvindt. Ingesteld op -1 als het verzoek niet is gerelateerd aan een tabblad.

      • timeStamp

        getal

        De tijd waarop dit signaal wordt geactiveerd, in milliseconden sinds het tijdvak.

      • Hoe de gevraagde resource wordt gebruikt.

      • url

        tekenreeks

  • filter
  • extraInfoSpec

onHeadersReceived

browser.webRequest.onHeadersReceived.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnHeadersReceivedOptions[],
)

Wordt geactiveerd als de HTTP-reactieheaders van een verzoek zijn ontvangen.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    (details: object) => BlockingResponse | undefined

    • details

      object

      • documentId

        tekenreeks optioneel

        Chrome 106 of hoger browser.* sinds Chrome 148

        De UUID van het document dat het verzoek indient.

      • Chrome 106 of hoger browser.* sinds Chrome 148

        De levenscyclus waarin het document zich bevindt.

      • frameId

        getal

        De waarde 0 geeft aan dat het verzoek plaatsvindt in het hoofdframe. 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 of hoger browser.* sinds Chrome 148

        Het type frame waarin het verzoek is gedaan.

      • initiator

        tekenreeks optioneel

        Chrome 63+ browser.* sinds Chrome 148

        De oorsprong waar het verzoek is gestart. Dit verandert niet door omleidingen. Als dit een ondoorzichtige oorsprong is, wordt de tekenreeks 'null' gebruikt.

      • method

        tekenreeks

        Standaard HTTP-methode.

      • parentDocumentId

        tekenreeks optioneel

        Chrome 106 of hoger browser.* sinds Chrome 148

        De UUID van het bovenliggende document dat eigenaar is van dit frame. Dit wordt niet ingesteld als er geen bovenliggende property is.

      • parentFrameId

        getal

        ID van het frame dat het frame omhult dat het verzoek heeft gestuurd. Stel deze waarde in op -1 als er geen bovenliggend frame is.

      • requestId

        tekenreeks

        De ID van het verzoek. Verzoek-ID's zijn uniek binnen een browsersessie. Daarom kunnen ze worden gebruikt om verschillende gebeurtenissen van hetzelfde verzoek aan elkaar te relateren.

      • responseHeaders

        HttpHeaders optioneel

        De HTTP-reactieheaders die met deze reactie zijn ontvangen.

      • securityInfo

        SecurityInfo optioneel

        Chrome 144+ browser.* sinds Chrome 148

        Informatie over de TLS/QUIC-verbinding die wordt gebruikt voor de onderliggende verbinding. Wordt alleen verstrekt als securityInfo is ingevoerd in de parameter extraInfoSpec.

      • statusCode

        getal

        Chrome 43+ browser.* sinds Chrome 148

        Standaard HTTP-statuscode die door de server wordt geretourneerd.

      • statusLine

        tekenreeks

        HTTP-statusregel van de reactie of de tekenreeks 'HTTP/0.9 200 OK' voor HTTP/0.9-reacties (reacties zonder statusregel).

      • tabId

        getal

        De ID van het tabblad waarin het verzoek plaatsvindt. Ingesteld op -1 als het verzoek niet is gerelateerd aan een tabblad.

      • timeStamp

        getal

        De tijd waarop dit signaal wordt geactiveerd, in milliseconden sinds het tijdvak.

      • Hoe de gevraagde resource wordt gebruikt.

      • url

        tekenreeks

    • returns

      BlockingResponse | undefined

      Als 'blocking' is opgegeven in de parameter 'extraInfoSpec', moet de event-listener een object van dit type retourneren.

  • filter
  • extraInfoSpec

onResponseStarted

browser.webRequest.onResponseStarted.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnResponseStartedOptions[],
)

Wordt geactiveerd wanneer de eerste byte van de hoofdtekst van de reactie is ontvangen. Voor HTTP-verzoeken betekent dit dat de statusregel en reactieheaders beschikbaar zijn.

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    (details: object) => void

    • details

      object

      • documentId

        tekenreeks optioneel

        Chrome 106 of hoger browser.* sinds Chrome 148

        De UUID van het document dat het verzoek indient.

      • Chrome 106 of hoger browser.* sinds Chrome 148

        De levenscyclus waarin het document zich bevindt.

      • frameId

        getal

        De waarde 0 geeft aan dat het verzoek plaatsvindt in het hoofdframe. 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 of hoger browser.* sinds Chrome 148

        Het type frame waarin het verzoek is gedaan.

      • fromCache

        booleaans

        Geeft aan of deze reactie is opgehaald uit de schijfcache.

      • initiator

        tekenreeks optioneel

        Chrome 63+ browser.* sinds Chrome 148

        De oorsprong waar het verzoek is gestart. Dit verandert niet door omleidingen. Als dit een ondoorzichtige oorsprong is, wordt de tekenreeks 'null' gebruikt.

      • ip

        tekenreeks optioneel

        Het IP-adres van de server waarnaar het verzoek daadwerkelijk is gestuurd. Dit kan een letterlijk IPv6-adres zijn.

      • method

        tekenreeks

        Standaard HTTP-methode.

      • parentDocumentId

        tekenreeks optioneel

        Chrome 106 of hoger browser.* sinds Chrome 148

        De UUID van het bovenliggende document dat eigenaar is van dit frame. Dit wordt niet ingesteld als er geen bovenliggende property is.

      • parentFrameId

        getal

        ID van het frame dat het frame omhult dat het verzoek heeft gestuurd. Stel deze waarde in op -1 als er geen bovenliggend frame is.

      • requestId

        tekenreeks

        De ID van het verzoek. Verzoek-ID's zijn uniek binnen een browsersessie. Daarom kunnen ze worden gebruikt om verschillende gebeurtenissen van hetzelfde verzoek aan elkaar te relateren.

      • responseHeaders

        HttpHeaders optioneel

        De HTTP-reactieheaders die samen met deze reactie zijn ontvangen.

      • statusCode

        getal

        Standaard HTTP-statuscode die door de server wordt geretourneerd.

      • statusLine

        tekenreeks

        HTTP-statusregel van de reactie of de tekenreeks 'HTTP/0.9 200 OK' voor HTTP/0.9-reacties (reacties zonder statusregel) of een lege tekenreeks als er geen headers zijn.

      • tabId

        getal

        De ID van het tabblad waarin het verzoek plaatsvindt. Ingesteld op -1 als het verzoek niet is gerelateerd aan een tabblad.

      • timeStamp

        getal

        De tijd waarop dit signaal wordt geactiveerd, in milliseconden sinds het tijdvak.

      • Hoe de gevraagde resource wordt gebruikt.

      • url

        tekenreeks

  • filter
  • extraInfoSpec

onSendHeaders

browser.webRequest.onSendHeaders.addListener(
  callback: function,
  filter: RequestFilter,
  extraInfoSpec?: OnSendHeadersOptions[],
)

Wordt geactiveerd vlak voordat een verzoek naar de server wordt gestuurd (wijzigingen van eerdere onBeforeSendHeaders-callbacks zijn zichtbaar op het moment dat onSendHeaders wordt geactiveerd).

Parameters

  • callback

    functie

    De parameter callback ziet er zo uit:

    (details: object) => void

    • details

      object

      • documentId

        tekenreeks optioneel

        Chrome 106 of hoger browser.* sinds Chrome 148

        De UUID van het document dat het verzoek indient.

      • Chrome 106 of hoger browser.* sinds Chrome 148

        De levenscyclus waarin het document zich bevindt.

      • frameId

        getal

        De waarde 0 geeft aan dat het verzoek plaatsvindt in het hoofdframe. 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 of hoger browser.* sinds Chrome 148

        Het type frame waarin het verzoek is gedaan.

      • initiator

        tekenreeks optioneel

        Chrome 63+ browser.* sinds Chrome 148

        De oorsprong waar het verzoek is gestart. Dit verandert niet door omleidingen. Als dit een ondoorzichtige oorsprong is, wordt de tekenreeks 'null' gebruikt.

      • method

        tekenreeks

        Standaard HTTP-methode.

      • parentDocumentId

        tekenreeks optioneel

        Chrome 106 of hoger browser.* sinds Chrome 148

        De UUID van het bovenliggende document dat eigenaar is van dit frame. Dit wordt niet ingesteld als er geen bovenliggende property is.

      • parentFrameId

        getal

        ID van het frame dat het frame omhult dat het verzoek heeft gestuurd. Stel deze waarde in op -1 als er geen bovenliggend frame is.

      • requestHeaders

        HttpHeaders optioneel

        De HTTP-verzoekheaders die met dit verzoek zijn verstuurd.

      • requestId

        tekenreeks

        De ID van het verzoek. Verzoek-ID's zijn uniek binnen een browsersessie. Daarom kunnen ze worden gebruikt om verschillende gebeurtenissen van hetzelfde verzoek aan elkaar te relateren.

      • tabId

        getal

        De ID van het tabblad waarin het verzoek plaatsvindt. Ingesteld op -1 als het verzoek niet is gerelateerd aan een tabblad.

      • timeStamp

        getal

        De tijd waarop dit signaal wordt geactiveerd, in milliseconden sinds het tijdvak.

      • Hoe de gevraagde resource wordt gebruikt.

      • url

        tekenreeks

  • filter
  • extraInfoSpec