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)
Wordt geactiveerd wanneer een verzoek op het punt staat plaats te vinden en de initiële headers zijn voorbereid. Deze gebeurtenis is bedoeld om extensies in staat te stellen verzoekheaders toe te voegen, te wijzigen en te verwijderen (*) . De gebeurtenis onBeforeSendHeaders wordt doorgegeven aan alle abonnees, waardoor verschillende abonnees kunnen proberen het verzoek te wijzigen. Zie de sectie Implementatiedetails voor meer informatie over hoe dit wordt afgehandeld. Deze gebeurtenis 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)
Wordt geactiveerd telkens wanneer een HTTP(S)-responsheader wordt ontvangen. Vanwege omleidingen en authenticatieverzoeken kan dit meerdere keren per verzoek gebeuren. Deze gebeurtenis is bedoeld om extensies in staat te stellen responsheaders, zoals binnenkomende Content-Type-headers, toe te voegen, te wijzigen en te verwijderen. De cacherichtlijnen worden verwerkt voordat deze gebeurtenis wordt geactiveerd, dus het wijzigen van headers zoals Cache-Control heeft geen invloed op de cache van de browser. U kunt hiermee 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.

* Houd er rekening mee dat de webrequest-API een abstractie van de netwerkstack aan de extensie presenteert. Intern kan één URL-verzoek worden opgesplitst in meerdere HTTP-verzoeken (bijvoorbeeld om afzonderlijke bytebereiken uit een groot bestand op te halen) of door de netwerkstack worden afgehandeld zonder met het netwerk te communiceren. Om deze reden verstrekt de API niet de uiteindelijke HTTP-headers die naar het netwerk worden verzonden. Zo zijn alle headers die gerelateerd zijn aan caching 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 hebben wijzigingen in de aanvraagheader invloed op CORS-controles (Cross-Origin Resource Sharing). Als gewijzigde headers voor cross-origin-aanvragen niet aan de criteria voldoen, wordt een CORS-preflight verzonden om de server te vragen of dergelijke headers geaccepteerd kunnen worden. Als u headers echt moet wijzigen op een manier die het CORS-protocol schendt, moet u 'extraHeaders' opgeven in opt_extraInfoSpec . Aanpassingen in de responsheader werken daarentegen niet om CORS-controles te omzeilen. Als u het CORS-protocol wilt omzeilen, moet u ook 'extraHeaders' opgeven voor de responswijzigingen.

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 maakt alleen verzoeken openbaar waarvoor de extensie toestemming heeft om te zien, gegeven 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 worden zelfs bepaalde verzoeken met URL's die een van de bovenstaande schema's gebruiken, verborgen. Deze omvatten chrome-extension://other_extension_id waarbij other_extension_id niet de ID is van de extensie om het verzoek af te handelen, https://www.google.com/chrome en andere gevoelige verzoeken die essentieel zijn voor de browserfunctionaliteit. Ook synchrone XMLHttpRequests van uw extensie worden verborgen voor blokkerende gebeurtenishandlers om deadlocks te voorkomen. Houd er rekening mee dat voor sommige van de ondersteunde schema's de set beschikbare gebeurtenissen beperkt kan zijn vanwege de aard van het bijbehorende 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 callbackfunctie synchroon verwerkt. Dit betekent dat de aanvraag wordt geblokkeerd totdat de callbackfunctie retourneert. In dit geval kan de callbackfunctie een webRequest.BlockingResponse retourneren die de verdere levenscyclus van de aanvraag bepaalt. Afhankelijk van de context maakt deze respons het mogelijk om een aanvraag te annuleren of om te leiden ( onBeforeRequest ), een aanvraag te annuleren of headers te wijzigen ( onBeforeSendHeaders , onHeadersReceived ), en een aanvraag te annuleren of authenticatiegegevens te verstrekken ( 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 openbare resourceaanvraag om te leiden naar een resource die niet webtoegankelijk is, wordt deze geblokkeerd en resulteert dit in een fout. Het bovenstaande geldt zelfs als de resource die niet webtoegankelijk is, eigendom is van de omleidende extensie. Om resources te declareren voor gebruik met declaratieve WebRequest API's, moet de array "web_accessible_resources" worden gedeclareerd en ingevuld in het manifest zoals hier beschreven.

Conflictbemiddeling

In de huidige implementatie van de webaanvraag-API wordt een aanvraag als geannuleerd beschouwd als ten minste één extensie de opdracht geeft om de aanvraag te annuleren. Als een extensie een aanvraag annuleert, worden alle extensies hiervan op de hoogte gesteld door een onErrorOccurred -gebeurtenis. Slechts één extensie kan een aanvraag omleiden of een header wijzigen. Als meer dan één extensie probeert de aanvraag te wijzigen, wint de meest recent geïnstalleerde extensie en worden alle andere genegeerd. Een extensie ontvangt geen melding als de instructie om de aanvraag te wijzigen of om te leiden is genegeerd.

Cachen

Chrome maakt gebruik van twee caches: een cache op schijf en een zeer snelle cache in het geheugen. De levensduur van een cache in het geheugen is gekoppeld aan de levensduur van een renderproces, wat ongeveer overeenkomt met een tabblad. Verzoeken die vanuit de cache in het geheugen worden beantwoord, zijn onzichtbaar voor de webaanvraag-API. Als een aanvraaghandler zijn gedrag verandert (bijvoorbeeld het gedrag op basis waarvan verzoeken worden geblokkeerd), wordt dit gewijzigde gedrag mogelijk niet gerespecteerd bij een eenvoudige paginavernieuwing. Om ervoor te zorgen dat de gedragswijziging wordt doorgevoerd, roept u handlerBehaviorChanged() aan om de cache in het geheugen te legen. Doe dit echter niet te vaak; het legen van de cache is een zeer kostbare bewerking. U hoeft handlerBehaviorChanged() niet aan te roepen na het registreren of afmelden van een event listener.

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

    Wordt alleen gebruikt als reactie op de gebeurtenissen onBeforeRequest en onHeadersReceived. Indien ingesteld, wordt het oorspronkelijke verzoek niet verzonden/voltooid en wordt het in plaats daarvan omgeleid naar de opgegeven URL. Omleidingen naar niet-HTTP-schema's zoals data: zijn toegestaan. Omleidingen die worden geïnitieerd door een omleidingsactie, gebruiken de oorspronkelijke aanvraagmethode voor de omleiding, met één uitzondering: als de omleiding wordt geïnitieerd in de fase onHeadersReceived, wordt de omleiding uitgevoerd met behulp van de GET-methode. Omleidingen van URL's met de schema's ws:// en wss:// 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()

chrome.webRequest.handlerBehaviorChanged(): 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.

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[],
)

Wordt geactiveerd wanneer een authenticatiefout wordt ontvangen. De listener heeft drie opties: hij kan authenticatiegegevens verstrekken, hij kan de aanvraag annuleren en de foutpagina weergeven, of hij kan geen actie ondernemen op de challenge. Als er onjuiste gebruikersgegevens worden verstrekt, kan dit meerdere keren voor dezelfde aanvraag worden aangeroepen. Let op: slechts één van de modi 'blocking' of 'asyncBlocking' mag 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 POST is en de body een reeks sleutel-waardeparen is, gecodeerd in UTF8, gecodeerd als multipart/form-data of application/x-www-form-urlencoded, is dit woordenboek aanwezig en bevat het voor elke sleutel de lijst met alle waarden voor die sleutel. Als de gegevens van een ander mediatype zijn of een onjuiste indeling hebben, 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 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 worden verzonden.

      • RequestId

        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.

      • tabide

        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

    OnBeforesendHeaders [] optioneel

onCompleted

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

Ontslagen wanneer een verzoek is voltooid.

Parameters

  • terugbellen

    functie

    De callback -parameter ziet eruit als:

    (details: object) => void

    • details

      voorwerp

      • Documentid

        snaar

        Chrome 106+

        De UUID van het document dat het verzoek indient.

      • Chrome 106+

        De levenscyclus waarin het document zich bevindt.

      • frameId

        nummer

        De waarde 0 geeft aan dat het verzoek in het hoofdframe plaatsvindt; Een positieve waarde geeft de ID aan van een subframe waarin het verzoek plaatsvindt. Als het document van een (sub-) frame wordt geladen ( type is main_frame of sub_frame ), geeft frameId de ID van dit frame aan, niet de ID van het buitenste frame. Frame -ID's zijn uniek binnen een tabblad.

      • Chrome 106+

        Het type frame waarin het verzoek plaatsvond.

      • van cache

        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.

      • RequestId

        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.

      • tabide

        nummer

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

      • tijdstempel

        nummer

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

      • Hoe de gevraagde bron zal worden gebruikt.

      • url

        snaar

  • filter
  • extreemfospec

    OnCompletedOptions [] optioneel

onErrorOccurred

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

Schoot wanneer er een fout optreedt.

Parameters

  • terugbellen

    functie

    De callback -parameter ziet eruit als:

    (details: object) => void

    • details

      voorwerp

      • Documentid

        snaar

        Chrome 106+

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

      • Chrome 106+

        De levenscyclus waarin het document zich bevindt.

      • fout

        snaar

        De foutbeschrijving. Deze string blijft niet achteruit compatibel tussen releases. U mag niet parseren en handelen op basis van de inhoud ervan.

      • frameId

        nummer

        De waarde 0 geeft aan dat het verzoek in het hoofdframe plaatsvindt; Een positieve waarde geeft de ID aan van een subframe waarin het verzoek plaatsvindt. Als het document van een (sub-) frame wordt geladen ( type is main_frame of sub_frame ), geeft frameId de ID van dit frame aan, niet de ID van het buitenste frame. Frame -ID's zijn uniek binnen een tabblad.

      • Chrome 106+

        Het type frame waarin het verzoek plaatsvond.

      • van cache

        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.

      • RequestId

        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.

      • tabide

        nummer

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

      • tijdstempel

        nummer

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

      • Hoe de gevraagde bron zal worden gebruikt.

      • url

        snaar

  • filter
  • extreemfospec

onHeadersReceived

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

Afgevuurd wanneer HTTP -responskoppen van een verzoek zijn ontvangen.

Parameters

  • terugbellen

    functie

    De callback -parameter ziet eruit als:

    (details: object) => BlockingResponse | undefined

    • details

      voorwerp

      • Documentid

        snaar

        Chrome 106+

        De UUID van het document dat het verzoek indient.

      • Chrome 106+

        De levenscyclus waarin het document zich bevindt.

      • frameId

        nummer

        De waarde 0 geeft aan dat het verzoek in het hoofdframe plaatsvindt; Een positieve waarde geeft de ID aan van een subframe waarin het verzoek plaatsvindt. Als het document van een (sub-) frame wordt geladen ( type is main_frame of sub_frame ), geeft frameId de ID van dit frame aan, niet de ID van het buitenste frame. Frame -ID's zijn uniek binnen een tabblad.

      • Chrome 106+

        Het type frame waarin het verzoek plaatsvond.

      • initiatiefnemer

        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.

      • RequestId

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

      • tabide

        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 -parameter ziet eruit als:

    (details: object) => void

    • details

      voorwerp

      • Documentid

        snaar

        Chrome 106+

        De UUID van het document dat het verzoek indient.

      • Chrome 106+

        De levenscyclus waarin het document zich bevindt.

      • frameId

        nummer

        De waarde 0 geeft aan dat het verzoek in het hoofdframe plaatsvindt; Een positieve waarde geeft de ID aan van een subframe waarin het verzoek plaatsvindt. Als het document van een (sub-) frame wordt geladen ( type is main_frame of sub_frame ), geeft frameId de ID van dit frame aan, niet de ID van het buitenste frame. Frame -ID's zijn uniek binnen een tabblad.

      • Chrome 106+

        Het type frame waarin het verzoek plaatsvond.

      • van cache

        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.

      • RequestId

        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.

      • tabide

        nummer

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

      • tijdstempel

        nummer

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

      • Hoe de gevraagde bron zal worden gebruikt.

      • url

        snaar

  • filter
  • extreemfospec

onSendHeaders

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

Afgevuurd net voordat een verzoek naar de server wordt verzonden (wijzigingen van eerdere onBeforesendheaders -callbacks zijn zichtbaar tegen de tijd dat OnSendheaders wordt ontslagen).

Parameters

  • terugbellen

    functie

    De callback -parameter ziet eruit als:

    (details: object) => void

    • details

      voorwerp

      • Documentid

        snaar

        Chrome 106+

        De UUID van het document dat het verzoek indient.

      • Chrome 106+

        De levenscyclus waarin het document zich bevindt.

      • frameId

        nummer

        De waarde 0 geeft aan dat het verzoek in het hoofdframe plaatsvindt; Een positieve waarde geeft de ID aan van een subframe waarin het verzoek plaatsvindt. Als het document van een (sub-) frame wordt geladen ( type is main_frame of sub_frame ), geeft frameId de ID van dit frame aan, niet de ID van het buitenste frame. Frame -ID's zijn uniek binnen een tabblad.

      • Chrome 106+

        Het type frame waarin het verzoek plaatsvond.

      • initiatiefnemer

        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.

      • RequestId

        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.

      • tabide

        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