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 declareren om de webaanvraag-API te gebruiken, samen met de benodigde hostmachtigingen . Om een subresourceaanvraag te onderscheppen, moet de extensie toegang hebben tot zowel de aangevraagde URL als de initiator. Bijvoorbeeld:

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

webRequestBlocking

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

webRequestAuthProvider

Vereist om de onAuthRequired -methode te gebruiken. Zie Authenticatie verwerken .

Begrippen en gebruik

Levenscyclus van verzoeken

De webaanvraag-API definieert een reeks gebeurtenissen die de levenscyclus van een webaanvraag volgen. U kunt deze gebeurtenissen gebruiken om verkeer te observeren en te analyseren. Bepaalde synchrone gebeurtenissen stellen u in staat een aanvraag te onderscheppen, blokkeren of wijzigen.

De levenscyclus van succesvolle aanvragen wordt hier geïllustreerd, gevolgd door gebeurtenisdefinities:

Levenscyclus van een webverzoek vanuit het perspectief van de webrequest API

onBeforeRequest (optioneel synchroon)
Wordt geactiveerd wanneer een verzoek op het punt staat te worden uitgevoerd. Deze gebeurtenis wordt verzonden voordat er een TCP-verbinding tot stand is gebracht en kan worden gebruikt om verzoeken te annuleren of om te leiden.
onBeforeSendHeaders (optioneel synchroon)
Branden wanneer een verzoek op het punt staat te plaatsvinden en de eerste headers zijn opgesteld. Het evenement is bedoeld om extensies toe te staan om Request -headers toe te voegen, te wijzigen en te verwijderen (*) . De gebeurtenis onBeforeSendHeaders wordt doorgegeven aan alle abonnees, zodat verschillende abonnees kunnen proberen het verzoek te wijzigen; Zie het gedeelte Implementatiedetails voor hoe dit wordt afgehandeld. Dit evenement kan worden gebruikt om het verzoek te annuleren.
onSendHeaders
Wordt geactiveerd nadat alle extensies de aanvraagheaders hebben kunnen wijzigen en presenteert de definitieve (*) versie. De gebeurtenis wordt geactiveerd voordat de headers naar het netwerk worden verzonden. Deze gebeurtenis is informatief en wordt asynchroon verwerkt. Het is niet mogelijk om de aanvraag te wijzigen of te annuleren.
onHeadersReceived (optioneel synchroon)
Vuren elke keer dat een HTTP (s) responskop wordt ontvangen. Vanwege omleidingen en authenticatieverzoeken kan dit meerdere keren per verzoek plaatsvinden. Deze gebeurtenis is bedoeld om extensies toe te staan om responskoppen toe te voegen, te wijzigen en te verwijderen, zoals inkomende headers van het type inhoud. De cachingrichtlijnen worden verwerkt voordat dit evenement wordt geactiveerd, dus het wijzigen van headers zoals Cache-Control heeft geen invloed op de cache van de browser. Hiermee kunt u ook het verzoek annuleren of omleiden.
onAuthRequired (optioneel synchroon)
Wordt geactiveerd wanneer een aanvraag authenticatie van de gebruiker vereist. Deze gebeurtenis kan synchroon worden verwerkt om authenticatiegegevens te verstrekken. Houd er rekening mee dat extensies ongeldige gegevens kunnen verstrekken. Zorg ervoor dat u niet in een oneindige lus terechtkomt door herhaaldelijk ongeldige gegevens in te voeren. Dit kan ook worden gebruikt om de aanvraag te annuleren.
onBeforeRedirect
Wordt geactiveerd wanneer een omleiding op het punt staat te worden uitgevoerd. Een omleiding kan worden geactiveerd door een HTTP-responscode of door een extensie. Deze gebeurtenis is informatief en wordt asynchroon verwerkt. U kunt de aanvraag hiermee niet wijzigen of annuleren.
onResponseStarted
Wordt geactiveerd wanneer de eerste byte van de antwoordtekst is ontvangen. Voor HTTP-aanvragen betekent dit dat de statusregel en de antwoordheaders beschikbaar zijn. Deze gebeurtenis is informatief en wordt asynchroon verwerkt. Het is niet mogelijk om de aanvraag te wijzigen of te annuleren.
onCompleted
Wordt geactiveerd wanneer een aanvraag succesvol is verwerkt.
onErrorOccurred
Wordt geactiveerd wanneer een aanvraag niet succesvol kon worden verwerkt.

De webaanvraag-API garandeert dat voor elke aanvraag onCompleted of onErrorOccurred als laatste gebeurtenis wordt geactiveerd, met één uitzondering: als een aanvraag wordt omgeleid naar een data:// -URL, is onBeforeRedirect de laatst gerapporteerde gebeurtenis.

* Merk op dat de Web Request API een abstractie van de netwerkstapel voor de extensie presenteert. Intern kan één URL -aanvraag worden opgesplitst in verschillende HTTP -aanvragen (bijvoorbeeld om individuele byte te halen uit een groot bestand) of kan ze worden afgehandeld door de netwerkstapel zonder te communiceren met het netwerk. Om deze reden biedt de API niet de uiteindelijke HTTP -headers die naar het netwerk worden verzonden. Alle headers die gerelateerd zijn aan caching zijn bijvoorbeeld onzichtbaar voor de extensie.

De volgende headers worden momenteel niet aan de gebeurtenis onBeforeSendHeaders verstrekt . Deze lijst is niet gegarandeerd compleet of stabiel.

  • Autorisatie
  • Cache-Control
  • Verbinding
  • Inhoudslengte
  • Gastheer
  • Als-gewijzigd-sinds
  • Als-geen-overeenkomst
  • Als-bereik
  • Gedeeltelijke gegevens
  • Pragma
  • Proxy-autorisatie
  • Proxy-verbinding
  • Overdrachtscodering

Vanaf Chrome 79 zijn aanvraagheaderaanpassingen van invloed op Cross-Origin Resource Sharing (CORS) -controles. Als aangepaste headers voor cross-origin-aanvragen niet aan de criteria voldoen, zal dit ertoe leiden dat een CORS-preflight de server wordt gevraagd of dergelijke headers kunnen worden geaccepteerd. Als u echt headers moet wijzigen op een manier om het CORS -protocol te overtreden, moet u 'extraHeaders' opgeven in opt_extraInfoSpec . Aan de andere kant werken de wijzigingen van de responskop niet om CORS -controles te misleiden. Als u het CORS -protocol moet bedriegen, moet u ook 'extraHeaders' opgeven voor de responsaanpassingen.

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

Vanaf Chrome 79 wordt de volgende aanvraagheader niet meegegeven en kan niet worden gewijzigd of verwijderd zonder 'extraHeaders' op te geven in opt_extraInfoSpec :

  • Oorsprong

Vanaf Chrome 72 moet u 'extraHeaders' opgeven in opt_extraInfoSpec als u reacties moet aanpassen voordat Cross Origin Read Blocking (CORB) de reactie kan blokkeren.

Vanaf Chrome 72 worden de volgende aanvraagheaders niet meegestuurd en kunnen niet worden gewijzigd of verwijderd zonder 'extraHeaders' op te geven in opt_extraInfoSpec :

  • Accept-Taal
  • Accept-Encoding
  • Verwijzer
  • Koekje

Vanaf Chrome 72 wordt de Set-Cookie responsheader niet meer meegeleverd . Deze kan niet worden gewijzigd of verwijderd zonder 'extraHeaders' op te geven in opt_extraInfoSpec .

Vanaf Chrome 89 kan de X-Frame-Options responsheader niet effectief worden gewijzigd of verwijderd zonder 'extraHeaders' op te geven in opt_extraInfoSpec .

De WebRequest API legt alleen verzoeken bloot dat de extensie toestemming heeft om te zien, gezien de hostmachtigingen . Bovendien zijn alleen de volgende schema's toegankelijk: http:// , https:// , ftp:// , file:// , ws:// (sinds Chrome 58), wss:// (sinds Chrome 58), urn: (sinds Chrome 91), of chrome-extension:// . Bovendien zijn zelfs bepaalde verzoeken met URL's met behulp van een van de bovenstaande schema's verborgen. Deze omvatten chrome-extension://other_extension_id waarbij other_extension_id niet de ID is van de extensie om het verzoek te verwerken, https://www.google.com/chrome en andere gevoelige aanvragen kern voor browserfunctionaliteit. Ook synchrone XMLHTTPRequests uit uw extensie zijn verborgen om evenementenhandlers te blokkeren om deadlocks te voorkomen. Merk op dat voor sommige van de ondersteunde schema's de set beschikbare evenementen beperkt kan zijn vanwege de aard van het overeenkomstige protocol. Voor het bestand: scheme mogen bijvoorbeeld alleen onBeforeRequest , onResponseStarted , onCompleted en onErrorOccurred worden verzonden.

Vanaf Chrome 58 ondersteunt de webRequest API het onderscheppen van WebSocket-handshake-aanvragen. Omdat de handshake wordt uitgevoerd via een HTTP-upgradeverzoek, past de stroom ervan in het HTTP-georiënteerde webRequest-model. Merk op dat de API geen onderschept :

  • Individuele berichten worden verzonden via een bestaande WebSocket-verbinding.
  • WebSocket-verbinding sluiten.

Omleidingen worden niet ondersteund voor WebSocket-verzoeken.

Vanaf Chrome 72 kan een extensie een verzoek alleen onderscheppen als deze hostmachtigingen heeft voor zowel de opgevraagde URL als de initiator van het verzoek.

Vanaf Chrome 96 ondersteunt de webRequest API het onderscheppen van de WebTransport over HTTP/3 handshake-aanvraag. Omdat de handshake wordt uitgevoerd via een HTTP CONNECT-aanvraag, past de flow ervan in het HTTP-georiënteerde webRequest-model. Let op:

  • Zodra de sessie tot stand is gebracht, kunnen extensies de sessie niet meer observeren of erin ingrijpen via de webRequest API.
  • Het wijzigen van HTTP-aanvraagheaders in onBeforeSendHeaders wordt genegeerd.
  • Omleidingen en authenticaties worden niet ondersteund in WebTransport over HTTP/3.

Aanvraag-ID's

Elk verzoek wordt geïdentificeerd door een verzoek-ID. Deze ID is uniek binnen een browsersessie en de context van een extensie. Deze blijft constant gedurende de levenscyclus van een verzoek en kan worden gebruikt om gebeurtenissen voor hetzelfde verzoek te matchen. Houd er rekening mee dat meerdere HTTP-verzoeken worden gekoppeld aan één webverzoek in het geval van HTTP-omleiding of HTTP-authenticatie.

Gebeurtenisluisteraars registreren

Om een eventlistener voor een webaanvraag te registreren, gebruikt u een variatie op de gebruikelijke addListener() functie . Naast het specificeren van een callback-functie moet u een filterargument opgeven en kunt u een optioneel extra info-argument opgeven.

De drie argumenten voor de webaanvraag-API addListener() hebben de volgende definities:

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

Hier is een voorbeeld van het luisteren naar de onBeforeRequest -gebeurtenis:

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

Elke addListener() -aanroep neemt een verplichte callbackfunctie als eerste parameter. Aan deze callbackfunctie wordt een woordenboek doorgegeven met informatie over de huidige URL-aanvraag. De informatie in dit woordenboek is afhankelijk van het specifieke gebeurtenistype en de inhoud van opt_extraInfoSpec .

Als de optionele opt_extraInfoSpec -array de tekenreeks 'blocking' bevat (alleen toegestaan voor specifieke gebeurtenissen), wordt de callback -functie synchroon behandeld. Dat betekent dat het verzoek is geblokkeerd totdat de callback -functie terugkeert. In dit geval kan de callback een webRequest.BlockingResponse retourneren die de verdere levenscyclus van het verzoek bepaalt. Afhankelijk van de context maakt dit antwoord mogelijk het annuleren of omleiden van een verzoek ( onBeforeRequest ), het annuleren van een verzoek of het wijzigen van headers ( onBeforeSendHeaders , onHeadersReceived ) en het annuleren van een verzoek of verstrekt verificatiereferenties ( onAuthRequired ).

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

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

URL's
URL-patronen zoals *://www.google.com/foo*bar .
Typen
Aanvraagtypen zoals main_frame (een document dat wordt geladen voor een frame op het hoogste niveau), sub_frame (een document dat wordt geladen voor een ingesloten frame) en image (een afbeelding op een website). Zie webRequest.RequestFilter .
Tabblad-ID
De identificatie voor één tabblad.
Venster-ID
De identificatie voor een venster.

Afhankelijk van het gebeurtenistype kunt u strings in opt_extraInfoSpec opgeven om aanvullende informatie over de aanvraag op te vragen. Dit wordt alleen gebruikt om gedetailleerde informatie over de gegevens van de aanvraag te verstrekken als hier expliciet om wordt gevraagd.

Authenticatie afhandelen

Om verzoeken voor HTTP-authenticatie te verwerken, voegt u de machtiging "webRequestAuthProvider" toe aan uw manifestbestand:

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

Houd er rekening mee dat deze machtiging niet vereist is voor een geïnstalleerde extensie met de machtiging "webRequestBlocking" .

Om inloggegevens synchroon te verstrekken:

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

Om inloggegevens asynchroon te verstrekken:

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

Implementatiedetails

Bij het ontwikkelen van een extensie die gebruikmaakt van de webaanvraag-API zijn er een aantal implementatiedetails van belang om te begrijpen:

webtoegankelijke_bronnen

Wanneer een extensie WebRequest API's gebruikt om een openbaar resource -verzoek om te leiden naar een bron die niet toegankelijk is voor web, wordt deze geblokkeerd en zal een fout resulteren. Het bovenstaande geldt zelfs als de bron die niet toegankelijk is voor web eigendom is van de omleidingsverlenging. Om bronnen te verklaren voor gebruik met DeclarativeWebRequest API's, moet de array "web_accessible_resources" worden verklaard en bevolkt in het manifest zoals hier gedocumenteerd.

Conflictbemiddeling

Bij de huidige implementatie van de Web Request API wordt een verzoek beschouwd als geannuleerd als ten minste één extensie instrueert om het verzoek te annuleren. Als een extensie een verzoek annuleert, worden alle uitbreidingen op de hoogte gebracht door een onErrorOccurred -gebeurtenis. Slechts één extensie kan een verzoek omleiden of een koptekst tegelijk wijzigen. Als meer dan één extensie probeert het verzoek te wijzigen, worden de meest recent geïnstalleerde extensie overwinningen en alle andere genegeerd. Een uitbreiding wordt niet op de hoogte gebracht als zijn instructie om te wijzigen of omleiding is genegeerd.

Cachen

Chrome maakt gebruik van twee caches-een cache op het gebied en een zeer snelle cache in het geheugen. De levensduur van een cache in het geheugen is bevestigd aan de levensduur van een renderproces, dat ongeveer overeenkomt met een tab. Verzoeken die worden beantwoord vanuit de cache in het geheugen, zijn onzichtbaar voor de Web Request API. Als een aanvraaghandler zijn gedrag verandert (bijvoorbeeld het gedrag volgens welke aanvragen worden geblokkeerd), respecteert een eenvoudige paginatrish mogelijk dit gewijzigde gedrag mogelijk niet. Om ervoor te zorgen dat de gedragsverandering doorgaat, roept handlerBehaviorChanged() aan om de cache in het geheugen te spoelen. Maar doe het niet vaak; Het doorspoelen van de cache is een zeer dure bewerking. U hoeft handlerBehaviorChanged() niet te bellen na het registreren of niet -registreren van een evenementluisteraar.

Tijdstempels

De timestamp van webaanvraaggebeurtenissen is alleen gegarandeerd intern consistent. Het vergelijken van de ene gebeurtenis met de andere geeft u de juiste offset ertussen, maar het vergelijken met de huidige tijd binnen de extensie (bijvoorbeeld via (new Date()).getTime() ) kan onverwachte resultaten opleveren.

Foutafhandeling

Als u probeert een gebeurtenis te registreren met ongeldige argumenten, wordt er een JavaScript-fout gegenereerd en wordt de gebeurtenishandler niet geregistreerd. Als er een fout wordt gegenereerd tijdens de verwerking van een gebeurtenis of als een gebeurtenishandler een ongeldige blokkerende respons retourneert, wordt er een foutmelding geregistreerd in de console van uw extensie en wordt de handler voor die aanvraag genegeerd.

Voorbeelden

Het volgende voorbeeld illustreert hoe u alle verzoeken naar www.evil.com kunt blokkeren:

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

Omdat deze functie een blokkerende gebeurtenis-handler gebruikt, zijn zowel de "webRequest" als de machtiging "webRequestBlocking" in het manifestbestand vereist.

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

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

Het volgende voorbeeld illustreert hoe u de User-Agent-header uit alle aanvragen verwijdert:

chrome.webRequest.onBeforeSendHeaders.addListener(
  function(details) {
    for (var i = 0; i < details.requestHeaders.length; ++i) {
      if (details.requestHeaders[i].name === 'User-Agent') {
        details.requestHeaders.splice(i, 1);
        break;
      }
    }
    return {requestHeaders: details.requestHeaders};
  },
  {urls: ["<all_urls>"]},
  ["blocking", "requestHeaders"]
);

Om de chrome.webRequest API uit te proberen, installeert u het webRequest-voorbeeld uit de chrome-extension-samples repository.

Typen

BlockingResponse

Retourneert een waarde voor event handlers waarop de 'blokkerende' extraInfoSpec is toegepast. Hiermee kan de event handler netwerkverzoeken wijzigen.

Eigenschappen

  • authCredentials

    object optioneel

    Wordt alleen gebruikt als reactie op de gebeurtenis onAuthRequired. Indien ingesteld, wordt de aanvraag gedaan met de opgegeven referenties.

    • wachtwoord

      snaar

    • gebruikersnaam

      snaar

  • annuleren

    boolean optioneel

    Indien true, wordt de aanvraag geannuleerd. Dit voorkomt dat de aanvraag wordt verzonden. Dit kan worden gebruikt als reactie op de gebeurtenissen onBeforeRequest, onBeforeSendHeaders, onHeadersReceived en onAuthRequired.

  • redirectUrl

    string optioneel

    Alleen gebruikt als reactie op de gebeurtenissen OnBeforeRequest en OnheadersReceived. Indien ingesteld, wordt het oorspronkelijke verzoek verhinderd verzonden/voltooid te worden en wordt in plaats daarvan doorgestuurd naar de gegeven URL. Redelingen naar niet-HTTP-schema's zoals data: zijn toegestaan. Redirects geïnitieerd door een omleidingsactie gebruiken de oorspronkelijke aanvraagmethode voor de omleiding, met één uitzondering: als de omleiding wordt geïnitieerd in de onheaders -gerecierde fase, wordt de omleiding uitgegeven met behulp van de GET -methode. Omleidingen van URL's met ws:// en wss:// schema's worden genegeerd .

  • aanvraagheaders

    HttpHeaders optioneel

    Wordt alleen gebruikt als reactie op de gebeurtenis onBeforeSendHeaders. Indien ingesteld, wordt de aanvraag met deze aanvraagheaders gedaan.

  • reactieHeaders

    HttpHeaders optioneel

    Wordt alleen gebruikt als reactie op de gebeurtenis onHeadersReceived. Indien ingesteld, wordt ervan uitgegaan dat de server met deze responsheaders heeft gereageerd. Retourneer responseHeaders alleen als u de headers daadwerkelijk wilt wijzigen om het aantal conflicten te beperken (slechts één extensie mag responseHeaders per aanvraag wijzigen).

FormDataItem

Chroom 66+

Bevat gegevens die binnen formuliergegevens worden doorgegeven. Voor een URL-gecodeerd formulier wordt dit opgeslagen als een string als de gegevens een UTF-8-string zijn en anders als een ArrayBuffer. Voor formuliergegevens is dit een ArrayBuffer. Als formuliergegevens een bestand uploaden, is het een string met bestandsnaam, mits de bestandsnaam is opgegeven.

Enum

ArrayBuffer

snaar

HttpHeaders

Een reeks HTTP-headers. Elke header wordt weergegeven als een woordenboek met de name en ofwel value ofwel binaryValue .

Type

voorwerp[]

Eigenschappen

  • binaireWaarde

    nummer[] optioneel

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

  • naam

    snaar

    Naam van de HTTP-header.

  • waarde

    string optioneel

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

IgnoredActionType

Chroom 70+

Enum

"omleiden"

"aanvraag_headers"

"response_headers"

"auth_credentials"

OnAuthRequiredOptions

Chroom 44+

Enum

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

"blokkeren"
Geeft aan dat het verzoek wordt geblokkeerd totdat de callbackfunctie retourneert.

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

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

OnBeforeRedirectOptions

Chroom 44+

Enum

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

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

OnBeforeRequestOptions

Chroom 44+

Enum

"blokkeren"
Geeft aan dat het verzoek wordt geblokkeerd totdat de callbackfunctie retourneert.

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

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

OnBeforeSendHeadersOptions

Chroom 44+

Enum

"aanvraagheaders"
Geeft aan dat de aanvraagheader in de gebeurtenis moet worden opgenomen.

"blokkeren"
Geeft aan dat het verzoek wordt geblokkeerd totdat de callbackfunctie retourneert.

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

OnCompletedOptions

Chroom 44+

Enum

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

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

OnErrorOccurredOptions

Chroom 79+

Waarde

"extra kopteksten"

OnHeadersReceivedOptions

Chroom 44+

Enum

"blokkeren"
Geeft aan dat het verzoek wordt geblokkeerd totdat de callbackfunctie retourneert.

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

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

OnResponseStartedOptions

Chroom 44+

Enum

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

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

OnSendHeadersOptions

Chroom 44+

Enum

"aanvraagheaders"
Geeft aan dat de aanvraagheader in de gebeurtenis moet worden opgenomen.

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

RequestFilter

Een object met een beschrijving van de filters die moeten worden toegepast op webRequest-gebeurtenissen.

Eigenschappen

  • tabbladId

    nummer optioneel

  • typen

    ResourceType [] optioneel

    Een lijst met aanvraagtypen. Verzoeken die niet aan een van de typen voldoen, worden eruit gefilterd.

  • URL's

    snaar[]

    Een lijst met URL's of URL-patronen. Verzoeken die niet aan een van de URL's voldoen, worden eruit gefilterd.

  • venster-ID

    nummer optioneel

ResourceType

Chroom 44+

Enum

"hoofdframe"
Geeft aan dat de resource het hoofdframe is.

"sub_frame"
Geeft de resource op als een subframe.

"stijlblad"
Geeft de resource op als een stijlblad.

"script"
Geeft de resource op als een script.

"afbeelding"
Geeft de bron op als een afbeelding.

"lettertype"
Geeft de bron op als lettertype.

"voorwerp"
Geeft de resource op als een object.

"xmlhttprequest"
Geeft de resource op als een XMLHttpRequest.

"ping"
Geeft de resource op als een ping.

"csp_rapport"
Geeft de resource op als een Content Security Policy (CSP)-rapport.

"media"
Geeft de resource op als een media-object.

"websocket"
Geeft aan dat de resource een WebSocket is.

"webbundel"
Geeft de resource op als een WebBundle.

"ander"
Geeft de resource op als een type dat niet is opgenomen in de vermelde typen.

UploadData

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

Eigenschappen

  • bytes

    elke optionele

    Een ArrayBuffer met een kopie van de gegevens.

  • bestand

    string optioneel

    Een tekenreeks met het pad en de naam van het bestand.

Eigenschappen

MAX_HANDLER_BEHAVIOR_CHANGED_CALLS_PER_10_MINUTES

Het maximale aantal keren dat handlerBehaviorChanged per aanhoudend interval van 10 minuten kan worden aangeroepen. handlerBehaviorChanged is een dure functieaanroep die niet vaak moet worden aangeroepen.

Waarde

20

Methoden

handlerBehaviorChanged()

Belofte
chrome.webRequest.handlerBehaviorChanged(
  callback?: function,
)
: Promise<void>

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

Parameters

  • terugbellen

    functie optioneel

    De callback ziet er als volgt uit:

    () => void

Retourneren

  • Belofte<leegte>

    Chroom 116+

Evenementen

onActionIgnored

Chroom 70+
chrome.webRequest.onActionIgnored.addListener(
  callback: function,
)

Wordt geactiveerd wanneer een voorgestelde wijziging van een extensie in een netwerkaanvraag wordt genegeerd. Dit gebeurt in geval van conflicten met andere extensies.

Parameters

  • terugbellen

    functie

    De callback ziet er als volgt uit:

    (details: object) => void

    • details

      voorwerp

      • De voorgestelde actie werd genegeerd.

      • aanvraag-ID

        snaar

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

onAuthRequired

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

Ontslagen wanneer een authenticatiestoring wordt ontvangen. De luisteraar heeft drie opties: het kan authenticatie -referenties bieden, het kan het verzoek annuleren en de foutpagina weergeven, of het kan geen actie ondernemen bij de uitdaging. Als slechte gebruikersreferenties worden verstrekt, kan dit voor hetzelfde verzoek meerdere keren worden opgeroepen. Opmerking, slechts één van 'blocking' of 'asyncBlocking' -modi moet worden opgegeven in de parameter extraInfoSpec .

Parameters

  • terugbellen

    functie

    De callback ziet er als volgt uit:

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

    • details

      voorwerp

      • uitdager

        voorwerp

        De server die om authenticatie vraagt.

        • gastheer

          snaar

        • haven

          nummer

      • document-ID

        snaar

        Chroom 106+

        De UUID van het document waarvoor de aanvraag is ingediend.

      • documentlevenscyclus
        Chroom 106+

        De levenscyclus waarin het document zich bevindt.

      • frame-ID

        nummer

        De waarde 0 geeft aan dat de aanvraag in het hoofdframe plaatsvindt; een positieve waarde geeft de ID aan van een subframe waarin de aanvraag plaatsvindt. Als het document van een (sub-)frame wordt geladen ( type 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 plaatsvond.

      • initiatiefnemer

        string optioneel

        Chroom 63+

        De oorsprong waar de aanvraag is gestart. Deze verandert niet door middel van redirects. Als dit een ondoorzichtige oorsprong is, wordt de string 'null' gebruikt.

      • isProxy

        Booleaanse

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

      • methode

        snaar

        Standaard HTTP-methode.

      • ouderDocumentId

        string optioneel

        Chroom 106+

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

      • ouderFrameId

        nummer

        ID van het frame dat het frame omsluit dat de aanvraag heeft verzonden. Stel in op -1 als er geen bovenliggend frame bestaat.

      • rijk

        string optioneel

        Het authenticatiedomein dat door de server wordt geleverd, indien aanwezig.

      • aanvraag-ID

        snaar

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

      • reactieHeaders

        HttpHeaders optioneel

        De HTTP-antwoordheaders die samen met dit antwoord zijn ontvangen.

      • regeling

        snaar

        Het authenticatieschema, bijvoorbeeld Basic of Digest.

      • statuscode

        nummer

        Chroom 43+

        Standaard HTTP-statuscode die door de server wordt geretourneerd.

      • statusregel

        snaar

        HTTP-statusregel van het antwoord of de tekenreeks 'HTTP/0.9 200 OK' voor HTTP/0.9-antwoorden (d.w.z. antwoorden zonder statusregel) of een lege tekenreeks als er geen headers zijn.

      • tabbladId

        nummer

        De ID van het tabblad waarop de aanvraag plaatsvindt. Stel in op -1 als de aanvraag niet aan een tabblad is gerelateerd.

      • tijdstempel

        nummer

        Het tijdstip waarop dit signaal wordt geactiveerd, in milliseconden sinds het tijdperk.

      • type

        Hoe de gevraagde bron gebruikt zal worden.

      • url

        snaar

    • asyncCallback

      functie optioneel

      Chroom 58+

      De asyncCallback -parameter ziet er als volgt uit:

      (response: BlockingResponse) => void

    • retouren

      BlokkerendeReactie | undefined

      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 ziet er als volgt uit:

    (details: object) => void

    • details

      voorwerp

      • document-ID

        snaar

        Chroom 106+

        De UUID van het document waarvoor de aanvraag is ingediend.

      • documentlevenscyclus
        Chroom 106+

        De levenscyclus waarin het document zich bevindt.

      • frame-ID

        nummer

        De waarde 0 geeft aan dat de aanvraag in het hoofdframe plaatsvindt; een positieve waarde geeft de ID aan van een subframe waarin de aanvraag plaatsvindt. Als het document van een (sub-)frame wordt geladen ( type 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 plaatsvond.

      • vanCache

        Booleaanse

        Geeft aan of dit antwoord is opgehaald uit de schijfcache.

      • initiatiefnemer

        string optioneel

        Chroom 63+

        De oorsprong waar de aanvraag is gestart. Deze verandert niet door middel van redirects. Als dit een ondoorzichtige oorsprong is, wordt de string 'null' gebruikt.

      • ip

        string optioneel

        Het IP-adres van de server waarnaar het verzoek daadwerkelijk is verzonden. Houd er rekening mee dat dit een letterlijk IPv6-adres kan zijn.

      • methode

        snaar

        Standaard HTTP-methode.

      • ouderDocumentId

        string optioneel

        Chroom 106+

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

      • ouderFrameId

        nummer

        ID van het frame dat het frame omsluit dat de aanvraag heeft verzonden. Stel in op -1 als er geen bovenliggend frame bestaat.

      • redirectUrl

        snaar

        De nieuwe URL.

      • aanvraag-ID

        snaar

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

      • reactieHeaders

        HttpHeaders optioneel

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

      • statuscode

        nummer

        Standaard HTTP-statuscode die door de server wordt geretourneerd.

      • statusregel

        snaar

        HTTP-statusregel van het antwoord of de tekenreeks 'HTTP/0.9 200 OK' voor HTTP/0.9-antwoorden (d.w.z. antwoorden zonder statusregel) of een lege tekenreeks als er geen headers zijn.

      • tabbladId

        nummer

        De ID van het tabblad waarop de aanvraag plaatsvindt. Stel in op -1 als de aanvraag niet aan een tabblad is gerelateerd.

      • tijdstempel

        nummer

        Het tijdstip waarop dit signaal wordt geactiveerd, in milliseconden sinds het tijdperk.

      • type

        Hoe de gevraagde bron gebruikt zal worden.

      • url

        snaar

  • extraInfoSpec

onBeforeRequest

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

Wordt geactiveerd wanneer een verzoek op het punt staat plaats te vinden.

Parameters

  • terugbellen

    functie

    De callback ziet er als volgt uit:

    (details: object) => BlockingResponse | undefined

    • details

      voorwerp

      • document-ID

        string optioneel

        Chroom 106+

        De UUID van het document waarvoor de aanvraag is ingediend.

      • documentlevenscyclus
        Chroom 106+

        De levenscyclus waarin het document zich bevindt.

      • frame-ID

        nummer

        De waarde 0 geeft aan dat de aanvraag in het hoofdframe plaatsvindt; een positieve waarde geeft de ID aan van een subframe waarin de aanvraag plaatsvindt. Als het document van een (sub-)frame wordt geladen ( type 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 plaatsvond.

      • initiatiefnemer

        string optioneel

        Chroom 63+

        De oorsprong waar de aanvraag is gestart. Deze verandert niet door middel van redirects. Als dit een ondoorzichtige oorsprong is, wordt de string 'null' gebruikt.

      • methode

        snaar

        Standaard HTTP-methode.

      • ouderDocumentId

        string optioneel

        Chroom 106+

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

      • ouderFrameId

        nummer

        ID van het frame dat het frame omsluit dat de aanvraag heeft verzonden. Stel in op -1 als er geen bovenliggend frame bestaat.

      • verzoekBody

        object optioneel

        Bevat de HTTP-aanvraagbodygegevens. Alleen beschikbaar als extraInfoSpec 'requestBody' bevat.

        • fout

          string optioneel

          Fouten bij het verkrijgen van gegevens uit de aanvraagtekst.

        • formuliergegevens

          object optioneel

          Als de aanvraagmethode wordt geplaatst en de body een reeks sleutelwaardeparen is die zijn gecodeerd in UTF8, gecodeerd als multipart/form-data, of applicatie/x-www-form-urlencoded, is dit woordenboek aanwezig en bevat dit de lijst met alle waarden voor die sleutel. Als de gegevens van een ander mediatype zijn, of als deze misvormd is, is het woordenboek niet aanwezig. Een voorbeeldwaarde van dit woordenboek is {'key': ['value1', 'value2']}.

        • rauw

          UploadData [] optioneel

          Als de aanvraagmethode PUT of POST is en de body nog niet is geparseerd in formData, worden de niet-geparseerde elementen van de aanvraagbody in deze array opgenomen.

      • aanvraag-ID

        snaar

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

      • tabbladId

        nummer

        De ID van het tabblad waarop de aanvraag plaatsvindt. Stel in op -1 als de aanvraag niet aan een tabblad is gerelateerd.

      • tijdstempel

        nummer

        Het tijdstip waarop dit signaal wordt geactiveerd, in milliseconden sinds het tijdperk.

      • type

        Hoe de gevraagde bron gebruikt zal worden.

      • url

        snaar

    • retouren

      BlokkerendeReactie | undefined

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

  • extraInfoSpec

onBeforeSendHeaders

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

Wordt geactiveerd vóór het verzenden van een HTTP-verzoek, zodra de verzoekheaders beschikbaar zijn. Dit kan gebeuren nadat een TCP-verbinding met de server tot stand is gebracht, maar voordat er HTTP-gegevens zijn verzonden.

Parameters

  • terugbellen

    functie

    De callback ziet er als volgt uit:

    (details: object) => BlockingResponse | undefined

    • details

      voorwerp

      • document-ID

        snaar

        Chroom 106+

        De UUID van het document waarvoor de aanvraag is ingediend.

      • documentlevenscyclus
        Chroom 106+

        De levenscyclus waarin het document zich bevindt.

      • frame-ID

        nummer

        De waarde 0 geeft aan dat de aanvraag in het hoofdframe plaatsvindt; een positieve waarde geeft de ID aan van een subframe waarin de aanvraag plaatsvindt. Als het document van een (sub-)frame wordt geladen ( type 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 plaatsvond.

      • initiatiefnemer

        string optioneel

        Chroom 63+

        De oorsprong waar de aanvraag is gestart. Deze verandert niet door middel van redirects. Als dit een ondoorzichtige oorsprong is, wordt de string 'null' gebruikt.

      • methode

        snaar

        Standaard HTTP-methode.

      • ouderDocumentId

        string optioneel

        Chroom 106+

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

      • ouderFrameId

        nummer

        ID van het frame dat het frame omsluit dat de aanvraag heeft verzonden. Stel in op -1 als er geen bovenliggend frame bestaat.

      • aanvraagheaders

        HttpHeaders optioneel

        De HTTP-aanvraagheaders die met deze aanvraag worden verzonden.

      • aanvraag-ID

        snaar

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

      • tabbladId

        nummer

        De ID van het tabblad waarop de aanvraag plaatsvindt. Stel in op -1 als de aanvraag niet aan een tabblad is gerelateerd.

      • tijdstempel

        nummer

        Het tijdstip waarop dit signaal wordt geactiveerd, in milliseconden sinds het tijdperk.

      • type

        Hoe de gevraagde bron gebruikt zal worden.

      • url

        snaar

    • retouren

      BlokkerendeReactie | undefined

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

  • extraInfoSpec

onCompleted

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

Wordt geactiveerd wanneer een verzoek is voltooid.

Parameters

  • terugbellen

    functie

    De callback ziet er als volgt uit:

    (details: object) => void

    • details

      voorwerp

      • document-ID

        snaar

        Chroom 106+

        De UUID van het document waarvoor de aanvraag is ingediend.

      • documentlevenscyclus
        Chroom 106+

        De levenscyclus waarin het document zich bevindt.

      • frame-ID

        nummer

        De waarde 0 geeft aan dat het verzoek in het hoofdframe plaatsvindt; Een positieve waarde geeft de ID aan van een subframe waarin het verzoek plaatsvindt. Als het document van een (sub-) frame wordt geladen ( type 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

        Booleaanse

        Geeft aan of deze reactie is opgehaald uit schijfcache.

      • initiatiefnemer

        String optioneel

        Chrome 63+

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

      • ip

        String optioneel

        Het IP -adres van de server waarnaar het verzoek daadwerkelijk is verzonden. Merk op dat het een letterlijk IPv6 -adres kan zijn.

      • methode

        snaar

        Standaard HTTP -methode.

      • ParentDocumentId

        String optioneel

        Chrome 106+

        De UUID van het bovenliggende document dat dit frame bezit. Dit is niet ingesteld als er geen ouder is.

      • ParentFrameId

        nummer

        ID van frame dat het frame wikkelt dat het verzoek heeft verzonden. Ingesteld op -1 als er geen ouderframe bestaat.

      • aanvraag-ID

        snaar

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

      • Responseheers

        Httpheaders optioneel

        De HTTP -responskoppen die samen met dit antwoord werden ontvangen.

      • statuscode

        nummer

        Standaard HTTP -statuscode geretourneerd door de server.

      • statuslijn

        snaar

        HTTP -statusregel van de respons of de 'HTTP/0.9 200 OK' String voor HTTP/0.9 -reacties (dwz antwoorden die een statusregel missen) of een lege string als er geen headers zijn.

      • tabbladId

        nummer

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

      • tijdstempel

        nummer

        Het tijdstip waarop dit signaal wordt geactiveerd, in milliseconden sinds het tijdperk.

      • Hoe de gevraagde bron zal worden gebruikt.

      • url

        snaar

  • filter
  • extreemfospec

    OnCompletedOptions [] optioneel

onErrorOccurred

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

Schoot wanneer er een fout optreedt.

Parameters

  • terugbellen

    functie

    De callback ziet er als volgt uit:

    (details: object) => void

    • details

      voorwerp

      • document-ID

        snaar

        Chrome 106+

        De UUID van het document dat het verzoek indient. Deze waarde is niet aanwezig als het verzoek een navigatie van een frame is.

      • 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

        Booleaanse

        Geeft aan of deze reactie is opgehaald uit schijfcache.

      • initiatiefnemer

        String optioneel

        Chrome 63+

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

      • ip

        String optioneel

        Het IP -adres van de server waarnaar het verzoek daadwerkelijk is verzonden. Merk op dat het een letterlijk IPv6 -adres kan zijn.

      • methode

        snaar

        Standaard HTTP -methode.

      • ParentDocumentId

        String optioneel

        Chrome 106+

        De UUID van het bovenliggende document dat dit frame bezit. Dit is niet ingesteld als er geen ouder is.

      • ParentFrameId

        nummer

        ID van frame dat het frame wikkelt dat het verzoek heeft verzonden. Ingesteld op -1 als er geen ouderframe bestaat.

      • aanvraag-ID

        snaar

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

      • tabbladId

        nummer

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

      • tijdstempel

        nummer

        Het tijdstip waarop dit signaal wordt geactiveerd, in milliseconden sinds het tijdperk.

      • 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 ziet er als volgt uit:

    (details: object) => BlockingResponse | undefined

    • details

      voorwerp

      • document-ID

        snaar

        Chrome 106+

        De UUID van het document dat het verzoek indient.

      • 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

        String optioneel

        Chrome 63+

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

      • methode

        snaar

        Standaard HTTP -methode.

      • ParentDocumentId

        String optioneel

        Chrome 106+

        De UUID van het bovenliggende document dat dit frame bezit. Dit is niet ingesteld als er geen ouder is.

      • ParentFrameId

        nummer

        ID van frame dat het frame wikkelt dat het verzoek heeft verzonden. Ingesteld op -1 als er geen ouderframe bestaat.

      • aanvraag-ID

        snaar

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

      • Responseheers

        Httpheaders optioneel

        De HTTP -responskoppen die met dit antwoord zijn ontvangen.

      • statuscode

        nummer

        Chrome 43+

        Standaard HTTP -statuscode geretourneerd door de server.

      • statuslijn

        snaar

        HTTP -statusregel van de respons of de 'http/0,9 200 OK' string voor HTTP/0.9 -reacties (dwz antwoorden die een statusregel missen).

      • tabbladId

        nummer

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

      • tijdstempel

        nummer

        Het tijdstip waarop dit signaal wordt geactiveerd, in milliseconden sinds het tijdperk.

      • Hoe de gevraagde bron zal worden gebruikt.

      • url

        snaar

    • retouren

      Blokkeringsresponse | ongedefinieerd

      Als "blokkeren" wordt opgegeven in de parameter "Extrainfospec", moet de gebeurtenisluisteraar een object van dit type retourneren.

  • filter
  • extreemfospec

onResponseStarted

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

Afgevuurd wanneer de eerste byte van het responslichaam wordt ontvangen. Voor HTTP -aanvragen betekent dit dat de statusregel- en responskoppen beschikbaar zijn.

Parameters

  • terugbellen

    functie

    De callback ziet er als volgt uit:

    (details: object) => void

    • details

      voorwerp

      • document-ID

        snaar

        Chrome 106+

        De UUID van het document dat het verzoek indient.

      • 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

        Booleaanse

        Geeft aan of deze reactie is opgehaald uit schijfcache.

      • initiatiefnemer

        String optioneel

        Chrome 63+

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

      • ip

        String optioneel

        Het IP -adres van de server waarnaar het verzoek daadwerkelijk is verzonden. Merk op dat het een letterlijk IPv6 -adres kan zijn.

      • methode

        snaar

        Standaard HTTP -methode.

      • ParentDocumentId

        String optioneel

        Chrome 106+

        De UUID van het bovenliggende document dat dit frame bezit. Dit is niet ingesteld als er geen ouder is.

      • ParentFrameId

        nummer

        ID van frame dat het frame wikkelt dat het verzoek heeft verzonden. Ingesteld op -1 als er geen ouderframe bestaat.

      • aanvraag-ID

        snaar

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

      • Responseheers

        Httpheaders optioneel

        De HTTP -responskoppen die samen met dit antwoord werden ontvangen.

      • statuscode

        nummer

        Standaard HTTP -statuscode geretourneerd door de server.

      • statuslijn

        snaar

        HTTP -statusregel van de respons of de 'HTTP/0.9 200 OK' String voor HTTP/0.9 -reacties (dwz antwoorden die een statusregel missen) of een lege string als er geen headers zijn.

      • tabbladId

        nummer

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

      • tijdstempel

        nummer

        Het tijdstip waarop dit signaal wordt geactiveerd, in milliseconden sinds het tijdperk.

      • 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 ziet er als volgt uit:

    (details: object) => void

    • details

      voorwerp

      • document-ID

        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

        String optioneel

        Chrome 63+

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

      • methode

        snaar

        Standaard HTTP -methode.

      • ParentDocumentId

        String optioneel

        Chrome 106+

        De UUID van het bovenliggende document dat dit frame bezit. Dit is niet ingesteld als er geen ouder is.

      • ParentFrameId

        nummer

        ID van frame dat het frame wikkelt dat het verzoek heeft verzonden. Ingesteld op -1 als er geen ouderframe bestaat.

      • Requestheaders

        Httpheaders optioneel

        De HTTP -aanvraagkoppen die met dit verzoek zijn verzonden.

      • aanvraag-ID

        snaar

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

      • tabbladId

        nummer

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

      • tijdstempel

        nummer

        Het tijdstip waarop dit signaal wordt geactiveerd, in milliseconden sinds het tijdperk.

      • Hoe de gevraagde bron zal worden gebruikt.

      • url

        snaar

  • filter
  • extreemfospec

    ONSENDHEIDERSOPTIONS [] optioneel