chrome.declarativeNetRequest

refresh date: 2026-09-25 robots: noindex

Beschrijving

De chrome.declarativeNetRequest API wordt gebruikt om netwerkverzoeken te blokkeren of aan te passen door declaratieve regels op te geven. Zo kunnen extensies netwerkverzoeken aanpassen zonder ze te onderscheppen en de content ervan te bekijken. Dit biedt meer privacy.

Rechten

declarativeNetRequest
declarativeNetRequestWithHostAccess

declarativeNetRequestFeedback
host_permissions

Beschikbaarheid

Chrome 84+

Manifest

Naast de hierboven beschreven rechten vereisen bepaalde typen regelsets, met name statische regelsets, dat de manifestsleutel "declarative_net_request" wordt gedefinieerd. Dit moet een woordenboek zijn met één sleutel met de naam "rule_resources". Deze sleutel is een matrix met woordenboeken van het type Ruleset, zoals hieronder getoond. (De naam 'Ruleset' verschijnt niet in de json van het manifest, omdat het slechts een matrix is.) Statische regelsets worden verderop in dit document uitgelegd.

{
  "name": "My extension",
  ...

  "declarative_net_request" : {
    "rule_resources" : [{
      "id": "ruleset_1",
      "enabled": true,
      "path": "rules_1.json"
    }, {
      "id": "ruleset_2",
      "enabled": false,
      "path": "rules_2.json"
    }]
  },
  "permissions": [
    "declarativeNetRequest",
    "declarativeNetRequestFeedback",
  ],
  "host_permissions": [
    "http://www.blogger.com/*",
    "http://*.google.com/*"
  ],
  ...
}

Concepten en gebruik

Als je deze API wilt gebruiken, voer je een of meer regelsets in. Een regelset bevat een array met regels. Een enkele regel doet een van de volgende dingen:

  • Blokkeer een netwerkverzoek.
  • Upgrade het schema (http naar https).
  • Voorkom dat een verzoek wordt geblokkeerd door overeenkomende geblokkeerde regels te ontkennen.
  • Een netwerkverzoek omleiden.
  • Verzoek- of reactieheaders aanpassen.

Er zijn 3 typen regelsets die op net iets andere manieren worden beheerd.

Dynamisch
Ze blijven bestaan tijdens browsersessies en extensie-upgrades en worden beheerd met JavaScript terwijl een extensie wordt gebruikt.
Sessie
Wordt gewist als de browser wordt afgesloten en als er een nieuwe versie van de extensie wordt geïnstalleerd. Sessieregels worden beheerd met JavaScript terwijl een extensie wordt gebruikt.
Statisch
Wordt verpakt, geïnstalleerd en geüpdatet als een extensie wordt geïnstalleerd of geüpgraded. Statische regels worden opgeslagen in regelbestanden met json-indeling en staan in het manifestbestand.

In de volgende gedeelten worden de typen regelsets in detail uitgelegd.

Dynamische en sessiegerichte regelsets

Dynamische en sessieregelsets worden beheerd met JavaScript terwijl een extensie wordt gebruikt.

  • Dynamische regels blijven behouden tijdens browsersessies en extensie-upgrades.
  • Sessieregels worden gewist als de browser wordt afgesloten en als er een nieuwe versie van de extensie wordt geïnstalleerd.

Er is maar één van elk van deze regelsettypen. Een extensie kan dynamisch regels toevoegen of verwijderen door updateDynamicRules() en updateSessionRules() aan te roepen, mits de regellimieten niet worden overschreden. Ga naar Regellimieten voor meer informatie over regellimieten. U vindt een voorbeeld hiervan onder codevoorbeelden.

Statische regelsets

In tegenstelling tot dynamische en sessieregels worden statische regels verpakt, geïnstalleerd en geüpdatet wanneer een extensie wordt geïnstalleerd of geüpgraded. Ze worden opgeslagen in regelbestanden in json-indeling, die aan de extensie worden aangegeven met de sleutels "declarative_net_request" en "rule_resources", zoals hierboven beschreven, en een of meer Ruleset-woordenboeken. Een Ruleset-woordenboek bevat een pad naar het regelbestand, een ID voor de regelset in het bestand en of de regelset aan- of uitstaat. De laatste 2 zijn belangrijk als je een regelset programmatisch aan- of uitzet.

{
  ...
  "declarative_net_request" : {
    "rule_resources" : [{
      "id": "ruleset_1",
      "enabled": true,
      "path": "rules_1.json"
    },
    ...
    ]
  }
  ...
}

Als je regelbestanden wilt testen, laad je de extensie uitgepakt. Fouten en waarschuwingen over ongeldige statische regels worden alleen getoond voor uitgepakte extensies. Ongeldige statische regels in verpakte extensies worden genegeerd.

Statische regels en regelsets aan- en uitzetten

Zowel afzonderlijke statische regels als volledige statische regelsets kunnen tijdens de runtime worden aan- of uitgezet.

De set aangezette statische regels en regelsets blijft behouden in browsersessies. Geen van beide blijft behouden bij extensie-updates. Dit betekent dat alleen regels die je in je regelbestanden hebt laten staan, beschikbaar zijn na een update.

Om prestatieredenen gelden er ook limieten voor het aantal regels en regelsets dat tegelijkertijd kan worden aangezet. Roep getAvailableStaticRuleCount() aan om het aantal aanvullende regels te checken dat kan worden aangezet. Ga naar Regellimieten voor meer informatie over regellimieten.

Bel updateStaticRules() om statische regels aan of uit te zetten. Deze methode gebruikt een UpdateStaticRulesOptions-object, dat matrices bevat van ID's van regels die moeten worden aan- of uitgezet. De ID's worden gedefinieerd met de sleutel "id" van het woordenboek Ruleset.

Roep updateEnabledRulesets() aan om statische regelsets aan of uit te zetten. Deze methode gebruikt een UpdateRulesetOptions-object dat arrays bevat van ID's van regelsets die moeten worden aan- of uitgezet. De ID's worden gedefinieerd met de sleutel "id" van het woordenboek Ruleset.

Regels maken

Ongeacht het type begint een regel met 4 velden, zoals hieronder getoond. De sleutels "id" en "priority" nemen een getal, maar de sleutels "action" en "condition" kunnen verschillende blokkerings- en omleidingsvoorwaarden bieden. De volgende regel blokkeert alle scriptverzoeken die afkomstig zijn van "foo.com" naar een URL met "abc" als subtekenreeks.

{
  "id" : 1,
  "priority": 1,
  "action" : { "type" : "block" },
  "condition" : {
    "urlFilter" : "abc",
    "initiatorDomains" : ["foo.com"],
    "resourceTypes" : ["script"]
  }
}

Overeenkomende tekens voor urlFilter

De sleutel "condition" van een regel staat een sleutel "urlFilter" toe om actie te ondernemen op URL's onder een opgegeven domein. U maakt patronen met tokens voor patroonovereenkomsten. Hieronder staan een paar voorbeelden.

urlFilter Combinaties Komt niet overeen
"abc" https://abcd.com
https://example.com/abcd
https://ab.com
"abc*d" https://abcd.com
https://example.com/abcxyzd
https://abc.com
"||a.example.com" https://a.example.com/
https://b.a.example.com/xyz
https://example.com/
"|https*" https://example.com http://example.com/
http://https.com
"example*^123|" https://example.com/123
http://abc.com/example?123
https://example.com/1234
https://abc.com/example0123

Regelprioriteit

Regels worden geactiveerd door verzoeken die worden gestuurd vanaf webpagina's. Als meerdere regels overeenkomen met een bepaald verzoek, moeten de regels prioriteit krijgen. In dit gedeelte wordt uitgelegd hoe ze prioriteit krijgen. Prioritering vindt plaats in 2 fasen.

  1. De prioriteit wordt bepaald voor regels binnen een extensie.
  2. Als meer dan één extensie een regel kan toepassen op een verzoek, wordt de prioriteit bepaald voor alle extensies die overeenkomen met een bepaald verzoek.

Denk aan deze manier van matchen: de regel waaraan een bepaalde extensie prioriteit geeft, krijgt dan prioriteit ten opzichte van regels van andere extensies.

Regelprioritering binnen een extensie

Binnen één extensie wordt de prioriteit bepaald aan de hand van het volgende proces:

  1. De regel met de hoogste door de ontwikkelaar gedefinieerde prioriteit (met andere woorden, het veld "priority") wordt geretourneerd.
  2. Als er meer dan één regel is met de hoogste door de ontwikkelaar gedefinieerde prioriteit, krijgen regels prioriteit via het veld "action", in deze volgorde:

    1. allow
    2. allowAllRequests
    3. block
    4. upgradeScheme
    5. redirect
  3. Als het actietype niet block of redirect is, worden alle overeenkomende modifyHeaders-regels geëvalueerd. Als er regels zijn met een door de ontwikkelaar gedefinieerde prioriteit die lager is dan de prioriteit die is aangegeven voor allow en allowAllRequests, worden deze regels genegeerd.

  4. Als meerdere regels dezelfde header wijzigen, wordt de wijziging bepaald door het door de ontwikkelaar gedefinieerde veld "priority" en door de opgegeven bewerkingen.

    • Als een regel een koptekst toevoegt, kunnen regels met een lagere prioriteit alleen aan die koptekst worden toegevoegd. Instel- en verwijderingsbewerkingen zijn niet toegestaan.
    • Als een regel een header instelt, kunnen regels met een lagere prioriteit alleen aan die header worden toegevoegd. Andere wijzigingen zijn niet toegestaan.
    • Als een regel een kop verwijdert, kunnen regels met een lagere prioriteit de kop niet verder aanpassen.

Regelprioritering tussen extensies

Als maar één extensie een regel heeft die overeenkomt met een verzoek, wordt die regel toegepast. Als meer dan één extensie overeenkomt met een verzoek, wordt het volgende proces gebruikt:

  1. Regels krijgen prioriteit via het veld "action", in deze volgorde:

    1. block
    2. redirect of upgradeScheme
    3. allow of allowAllRequests
  2. Als er meer dan één regel overeenkomt, krijgt de meest recent geïnstalleerde extensie prioriteit.

Limieten voor regels

Het laden en evalueren van regels in de browser kost prestaties, dus er gelden bepaalde limieten als je de API gebruikt. De limieten zijn afhankelijk van het type regel dat u gebruikt.

Statische regels

Statische regels zijn de regels die zijn gespecificeerd in regelbestanden die zijn gedefinieerd in het manifestbestand. Een extensie kan maximaal 50 statische regelsets specificeren als onderdeel van de manifestsleutel "rule_resources", maar er kunnen maar 10 van deze regelsets tegelijk aanstaan. Dit laatste wordt de MAX_NUMBER_OF_ENABLED_STATIC_RULESETS genoemd. Samen hebben die regelsets gegarandeerd minstens 30.000 regels. Dit wordt de GUARANTEED_MINIMUM_STATIC_RULES genoemd.

Het aantal regels dat daarna beschikbaar is, is afhankelijk van het aantal regels dat is aangezet door alle extensies die zijn geïnstalleerd in de browser van een gebruiker. Je kunt dit nummer tijdens de runtime vinden door getAvailableStaticRuleCount() aan te roepen. U vindt een voorbeeld hiervan onder codevoorbeelden.

Dynamische en sessieregels

De limieten die worden toegepast op dynamische en sessieregels zijn eenvoudiger dan statische regels. Het totale aantal van beide mag niet hoger zijn dan 5000. Dit wordt de MAX_NUMBER_OF_DYNAMIC_AND_SESSION_RULES genoemd.

Regels die regex gebruiken

Alle typen regels kunnen reguliere expressies gebruiken, maar het totale aantal regex-regels van elk type mag niet hoger zijn dan 1000. Dit wordt de MAX_NUMBER_OF_REGEX_RULES genoemd.

Daarnaast moet elke regel na compilatie kleiner zijn dan 2 KB. Dit komt ongeveer overeen met de complexiteit van de regel. Als u een regel probeert te laden die deze limiet overschrijdt, krijgt u een waarschuwing zoals hieronder en wordt de regel genegeerd.

rules_1.json: Rule with id 1 specified a more complex regex than allowed
as part of the "regexFilter" key.

Interacties met servicemedewerkers

Een declarativeNetRequest is alleen van toepassing op verzoeken die de netwerkstack bereiken. Dit omvat reacties uit het HTTP-cachegeheugen, maar misschien niet de reacties die via de onfetch-handler van een serviceworker gaan. declarativeNetRequest heeft geen invloed op reacties die door de serviceworker worden gegenereerd of die worden opgehaald uit CacheStorage, maar wel op aanroepen naar fetch() die in een serviceworker worden gedaan.

Webtoegankelijke bronnen

Een declarativeNetRequest-regel kan niet omleiden van een openbaar bronverzoek naar een bron die niet toegankelijk is via internet. Als u dit doet, wordt er een fout geactiveerd. Dit geldt zelfs als de opgegeven webtoegankelijke bron eigendom is van de omleidende extensie. Gebruik de array "web_accessible_resources" van het manifest om bronnen voor declarativeNetRequest te declareren.

Voorbeelden

Codevoorbeelden

Dynamische regels updaten

In het volgende voorbeeld zie je hoe je updateDynamicRules() aanroept. De procedure voor updateSessionRules() is hetzelfde.

// Get arrays containing new and old rules
const newRules = await getNewRules();
const oldRules = await chrome.declarativeNetRequest.getDynamicRules();
const oldRuleIds = oldRules.map(rule => rule.id);

// Use the arrays to update the dynamic rules
await chrome.declarativeNetRequest.updateDynamicRules({
  removeRuleIds: oldRuleIds,
  addRules: newRules
});

Statische regelsets updaten

In het volgende voorbeeld zie je hoe je regelsets aan- en uitzet, rekening houdend met het aantal beschikbare en het maximale aantal aangezette statische regelsets. Doe dit als het aantal statische regels dat je nodig hebt, het toegestane aantal overschrijdt. Hiervoor moeten sommige van je regelsets worden geïnstalleerd terwijl sommige van je regelsets zijn uitgezet (stel "Enabled" in op false in het manifestbestand).

async function updateStaticRules(enableRulesetIds, disableCandidateIds) {
  // Create the options structure for the call to updateEnabledRulesets()
  let options = { enableRulesetIds: enableRulesetIds }
  // Get the number of enabled static rules
  const enabledStaticCount = await chrome.declarativeNetRequest.getEnabledRulesets();
  // Compare rule counts to determine if anything needs to be disabled so that
  // new rules can be enabled
  const proposedCount = enableRulesetIds.length;
  if (enabledStaticCount + proposedCount > chrome.declarativeNetRequest.MAX_NUMBER_OF_ENABLED_STATIC_RULESETS) {
    options.disableRulesetIds = disableCandidateIds
  }
  // Update the enabled static rules
  await chrome.declarativeNetRequest.updateEnabledRulesets(options);
}

Voorbeelden van regels

De voorbeelden hieronder laten zien hoe Chrome prioriteit geeft aan regels in een extensie. Als u ze controleert, kunt u de prioriteringsregels in een afzonderlijk venster openen.

De sleutel 'priority'

Voor deze voorbeelden zijn hostrechten vereist voor *://*.example.com/*.

Als je de prioriteit van een bepaalde URL wilt bepalen, kijk je naar de (door de ontwikkelaar gedefinieerde) sleutel "priority", de sleutel "action" en de sleutel "urlFilter". Deze voorbeelden verwijzen naar het voorbeeldregelbestand dat eronder wordt getoond.

Navigatie naar https://google.com
Er zijn 2 regels van toepassing op deze URL: de regels met ID's 1 en 4. De regel met ID 1 is van toepassing omdat "block"-acties een hogere prioriteit hebben dan "redirect"-acties. De resterende regels zijn niet van toepassing omdat ze voor langere URL's zijn.
Navigatie naar https://google.com/1234
Vanwege de langere URL komt de regel met ID 2 nu overeen, naast de regels met ID's 1 en 4. De regel met ID 2 is van toepassing omdat "allow" een hogere prioriteit heeft dan "block" en "redirect".
Navigatie naar https://google.com/12345
Alle 4 de regels komen overeen met deze URL. De regel met ID 3 is van toepassing omdat de door de ontwikkelaar gedefinieerde prioriteit de hoogste van de groep is.
[
  {
    "id": 1,
    "priority": 1,
    "action": { "type": "block" },
    "condition": {"urlFilter": "google.com", "resourceTypes": ["main_frame"] }
  },
  {
    "id": 2,
    "priority": 1,
    "action": { "type": "allow" },
    "condition": { "urlFilter": "google.com/123", "resourceTypes": ["main_frame"] }
  },
  {
    "id": 3,
    "priority": 2,
    "action": { "type": "block" },
    "condition": { "urlFilter": "google.com/12345", "resourceTypes": ["main_frame"] }
  },
  {
    "id": 4,
    "priority": 1,
    "action": { "type": "redirect", "redirect": { "url": "https://example.com" } },
    "condition": { "urlFilter": "google.com", "resourceTypes": ["main_frame"] }
  },
]

Omleidingen

Voor het onderstaande voorbeeld zijn hostrechten vereist voor *://*.example.com/*.

In het volgende voorbeeld wordt getoond hoe je een verzoek van example.com omleidt naar een pagina binnen de extensie zelf. Het extensiepad /a.jpg wordt omgezet in chrome-extension://EXTENSION_ID/a.jpg, waarbij EXTENSION_ID de ID van je extensie is. Hiervoor moet het manifest /a.jpg declareren als een webtoegankelijke bron.

{
  "id": 1,
  "priority": 1,
  "action": { "type": "redirect", "redirect": { "extensionPath": "/a.jpg" } },
  "condition": {
    "urlFilter": "https://www.example.com",
    "resourceTypes": ["main_frame"]
  }
}

In het volgende voorbeeld wordt de sleutel "transform" gebruikt om om te leiden naar een subdomein van example.com. Er wordt een domeinnaamanker ('||') gebruikt om verzoeken met een schema van example.com te onderscheppen. De sleutel "scheme" in "transform" geeft aan dat omleidingen naar het subdomein altijd https gebruiken.

{
  "id": 1,
  "priority": 1,
  "action": {
    "type": "redirect",
    "redirect": {
      "transform": { "scheme": "https", "host": "new.example.com" }
    }
  },
  "condition": {
    "urlFilter": "||example.com",
    "resourceTypes": ["main_frame"]
  }
}

In het volgende voorbeeld worden reguliere expressies gebruikt om om te leiden van https://www.abc.xyz.com/path naar https://abc.xyz.com/path. In de sleutel "regexFilter" ziet u hoe punten worden geëscaped en dat de capture-groep abc of def selecteert. De sleutel "regexSubstitution" geeft de eerste geretourneerde overeenkomst van de reguliere expressie aan met \1. In dit geval wordt 'abc' vastgelegd uit de omgeleide URL en in de vervanging geplaatst.

{
  "id": 1,
  "priority": 1,
  "action": {
    "type": "redirect",
    "redirect": {
      "regexSubstitution": "https://\\1.xyz.com/"
    }
  },
  "condition": {
    "regexFilter": "^https://www\\.(abc|def)\\.xyz\\.com/",
    "resourceTypes": [
      "main_frame"
    ]
  }
}

Headers

In het volgende voorbeeld worden alle cookies verwijderd uit zowel een hoofdframe als subframes.

{
  "id": 1,
  "priority": 1,
  "action": {
    "type": "modifyHeaders",
    "requestHeaders": [{ "header": "cookie", "operation": "remove" }]
  },
  "condition": { "resourceTypes": ["main_frame", "sub_frame"] }
}

Typen

DomainType

Dit beschrijft of het verzoek first-party of third-party is voor het frame waarin het is ontstaan. Een verzoek wordt first-party genoemd als het hetzelfde domein (eTLD+1) heeft als het frame waarin het verzoek is ontstaan.

Enum

"firstParty"
Het netwerkverzoek is first-party voor het frame waarin het is ontstaan.

"thirdParty"
Het netwerkverzoek is van derden voor het frame waarin het is ontstaan.

ExtensionActionOptions

Chrome 88+

Eigenschappen

  • displayActionCountAsBadgeText

    booleaans optioneel

    Of het aantal acties voor een pagina automatisch moet worden weergegeven als de badgetekst van de extensie. Deze voorkeur blijft behouden voor alle sessies.

  • tabUpdate
    Chrome 89+

    Informatie over hoe het aantal acties van het tabblad moet worden aangepast.

GetDisabledRuleIdsOptions

Chrome 111+

Eigenschappen

  • rulesetId

    tekenreeks

    De ID die overeenkomt met een statische Ruleset.

GetRulesFilter

Chrome 111+

Eigenschappen

  • ruleIds

    number[] optioneel

    Als u dit opgeeft, worden alleen regels met overeenkomende ID's opgenomen.

HeaderInfo

Chrome 128+

Eigenschappen

  • excludedValues

    string[] optioneel

    Als deze voorwaarde is opgegeven, komt deze niet overeen als de kop bestaat, maar de waarde ten minste één element in deze lijst bevat. Hierbij wordt dezelfde syntaxis voor overeenkomstpatronen gebruikt als voor values.

  • header

    tekenreeks

    De naam van de koptekst. Deze voorwaarde komt alleen overeen met de naam als zowel values als excludedValues niet zijn ingevoerd.

  • waarden

    string[] optioneel

    Als deze voorwaarde is ingevoerd, komt deze overeen als de waarde van de kop overeenkomt met minstens één patroon in deze lijst. Dit ondersteunt niet-hoofdlettergevoelige overeenkomsten voor koptekstwaarden plus de volgende constructies:

    '*' : Komt overeen met een willekeurig aantal tekens.

    ? : Komt overeen met nul of één teken.

    '*' en '?' kunnen worden geëscaped met een backslash, bijvoorbeeld '\*' en '\?'

HeaderOperation

Chrome 86+

Hierin worden de mogelijke bewerkingen voor een modifyHeaders-regel beschreven.

Enum

append
Voegt een nieuwe invoer toe voor de aangegeven kop. Als je de headers van een verzoek aanpast, wordt deze bewerking alleen ondersteund voor specifieke headers.

"set"
Stelt een nieuwe waarde in voor de aangegeven koptekst en verwijdert bestaande kopteksten met dezelfde naam.

"remove"
Verwijdert alle vermeldingen voor de opgegeven kop.

IsRegexSupportedResult

Chrome 87+

Eigenschappen

  • isSupported

    booleaans

  • reden

    Geeft de reden aan waarom de reguliere expressie niet wordt ondersteund. Wordt alleen verstrekt als isSupported onwaar is.

MatchedRule

Eigenschappen

  • ruleId

    getal

    De ID van een overeenkomstregel.

  • rulesetId

    tekenreeks

    ID van de Ruleset waartoe deze regel behoort. Voor een regel die afkomstig is van de set dynamische regels, is dit gelijk aan DYNAMIC_RULESET_ID.

MatchedRuleInfo

Eigenschappen

  • regel
  • tabId

    getal

    De tabId van het tabblad waar het verzoek vandaan komt als het tabblad nog actief is. Anders -1.

  • timeStamp

    getal

    Het tijdstip waarop de regel is geactiveerd. Tijdstempels komen overeen met de JavaScript-conventie voor tijden, d.w.z. het aantal milliseconden sinds het tijdperk.

MatchedRuleInfoDebug

Eigenschappen

MatchedRulesFilter

Eigenschappen

  • minTimeStamp

    number optioneel

    Indien gespecificeerd, komt alleen overeen met regels na de aangegeven tijdstempel.

  • tabId

    number optioneel

    Indien ingevoerd, komt dit alleen overeen met regels voor het aangegeven tabblad. Komt overeen met regels die niet aan een actief tabblad zijn gekoppeld als deze is ingesteld op -1.

ModifyHeaderInfo

Chrome 86+

Eigenschappen

  • header

    tekenreeks

    De naam van de koptekst die moet worden aangepast.

  • bewerking

    De bewerking die moet worden uitgevoerd op een kop.

  • waarde

    tekenreeks optioneel

    De nieuwe waarde voor de koptekst. Moet worden ingevoerd voor append- en set-bewerkingen.

QueryKeyValue

Eigenschappen

  • sleutel

    tekenreeks

  • replaceOnly

    booleaans optioneel

    Chrome 94+

    Als dit waar is, wordt de querysleutel alleen vervangen als deze al aanwezig is. Anders wordt de sleutel ook toegevoegd als deze ontbreekt. De standaard is onwaar.

  • waarde

    tekenreeks

QueryTransform

Eigenschappen

  • addOrReplaceParams

    QueryKeyValue[] optioneel

    De lijst met sleutel/waarde-paren voor query's die moeten worden toegevoegd of vervangen.

  • removeParams

    string[] optioneel

    De lijst met querysleutels die moeten worden verwijderd.

Redirect

Eigenschappen

  • extensionPath

    tekenreeks optioneel

    Pad relatief ten opzichte van de extensiemap. Moet beginnen met '/'.

  • regexSubstitution

    tekenreeks optioneel

    Vervangingspatroon voor regels die een regexFilter specificeren. De eerste overeenkomst van regexFilter in de URL wordt vervangen door dit patroon. In regexSubstitution kunnen cijfers met een backslash (\1 tot \9) worden gebruikt om de bijbehorende capture-groepen in te voegen. \0 verwijst naar de volledige overeenkomende tekst.

  • transform

    URLTransform optioneel

    URL-transformaties die moeten worden uitgevoerd.

  • url

    tekenreeks optioneel

    De omleidings-URL. Omleidingen naar JavaScript-URL's zijn niet toegestaan.

RegexOptions

Chrome 87+

Eigenschappen

  • isCaseSensitive

    booleaans optioneel

    Of de ingevoerde regex hoofdlettergevoelig is. De standaardwaarde is true.

  • regex

    tekenreeks

    De reguliere expressie die moet worden gecontroleerd.

  • requireCapturing

    booleaans optioneel

    Of de ingevoerde regex moet worden vastgelegd. Vastleggen is alleen vereist voor omleidingsregels die een regexSubstition-actie specificeren. De standaardwaarde is onwaar.

RequestDetails

Eigenschappen

  • documentId

    tekenreeks optioneel

    Chrome 106+

    De unieke ID voor het document van het frame, als dit verzoek voor een frame is.

  • documentLifecycle
    Chrome 106+

    De levenscyclus van het document van het frame, als dit verzoek voor een frame is.

  • frameId

    getal

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

  • frameType

    FrameType optioneel

    Chrome 106+

    Het type frame, als dit verzoek voor een frame is.

  • initiator

    tekenreeks optioneel

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

  • method

    tekenreeks

    Standaard HTTP-methode.

  • parentDocumentId

    tekenreeks optioneel

    Chrome 106+

    De unieke ID voor het bovenliggende document van het frame, als dit verzoek voor een frame is en een bovenliggend document heeft.

  • parentFrameId

    getal

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

  • requestId

    tekenreeks

    De ID van het verzoek. Verzoek-ID's zijn uniek binnen een browsersessie.

  • tabId

    getal

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

  • Het resourcetype van het verzoek.

  • url

    tekenreeks

    De URL van het verzoek.

RequestMethod

Chrome 91+

Dit beschrijft de HTTP-verzoekmethode van een netwerkverzoek.

Enum

"connect"

'verwijderen'

"get"

"head"

"options"

"patch"

"post"

"put"

"other"

ResourceType

Dit beschrijft het resourcetype van het netwerkverzoek.

Enum

"main_frame"

"sub_frame"

"stylesheet"

"script"

"image"

"font"

"object"

"xmlhttprequest"

"ping"

"csp_report"

"media"

"websocket"

"webtransport"

"webbundle"

"other"

Rule

Eigenschappen

  • actie

    De actie die moet worden uitgevoerd als deze regel overeenkomt.

  • voorwaarde

    De voorwaarde waaronder deze regel wordt getriggerd.

  • id

    getal

    Een ID die een regel uniek identificeert. Verplicht en moet >= 1 zijn.

  • prioriteit

    number optioneel

    Regelprioriteit. De standaardwaarde is 1. Moet >= 1 zijn als dit is ingevoerd.

RuleAction

Eigenschappen

  • omleiding

    Redirect optioneel

    Beschrijft hoe de omleiding moet worden uitgevoerd. Alleen geldig voor omleidingsregels.

  • requestHeaders

    ModifyHeaderInfo[] optioneel

    Chrome 86+

    De verzoekheaders die moeten worden aangepast voor het verzoek. Alleen geldig als RuleActionType modifyHeaders is.

  • responseHeaders

    ModifyHeaderInfo[] optioneel

    Chrome 86+

    De reactieheaders die moeten worden aangepast voor het verzoek. Alleen geldig als RuleActionType modifyHeaders is.

  • Het type actie dat moet worden uitgevoerd.

RuleActionType

Beschrijft het soort actie dat moet worden uitgevoerd als een bepaalde RuleCondition overeenkomt.

Enum

"block"
Blokkeer het netwerkverzoek.

"redirect"
Het netwerkverzoek omleiden.

"allow"
Het netwerkverzoek toestaan. Het verzoek wordt niet onderschept als er een toestemmingsregel is die ermee overeenkomt.

"upgradeScheme"
Upgrade het schema van de URL van het netwerkverzoek naar https als het verzoek http of ftp is.

"modifyHeaders"
Wijzig verzoek-/reactieheaders van het netwerkverzoek.

"allowAllRequests"
Alle verzoeken binnen een framehiërarchie toestaan, inclusief het frameverzoek zelf.

RuleCondition

Eigenschappen

  • domainType

    DomainType optioneel

    Geeft aan of het netwerkverzoek first-party of third-party is voor het domein waar het vandaan komt. Als je dit weglaat, worden alle verzoeken geaccepteerd.

  • domeinen

    string[] optioneel

    Beëindigd sinds Chrome 101

    In plaats daarvan initiatorDomains gebruiken

    De regel komt alleen overeen met netwerkverzoeken die afkomstig zijn van de lijst met domains.

  • excludedDomains

    string[] optioneel

    Beëindigd sinds Chrome 101

    In plaats daarvan excludedInitiatorDomains gebruiken

    De regel komt niet overeen met netwerkverzoeken die afkomstig zijn van de lijst met excludedDomains.

  • excludedInitiatorDomains

    string[] optioneel

    Chrome 101+

    De regel komt niet overeen met netwerkverzoeken die afkomstig zijn van de lijst met excludedInitiatorDomains. Als de lijst leeg is of wordt weggelaten, worden er geen domeinen uitgesloten. Dit krijgt voorrang op initiatorDomains.

    Opmerkingen:

    • Subdomeinen zoals a.example.com zijn ook toegestaan.
    • De vermeldingen mogen alleen ASCII-tekens bevatten.
    • Gebruik punycode-codering voor geïnternationaliseerde domeinen.
    • Dit komt overeen met de initiator van het verzoek en niet met de verzoek-URL.
    • Subdomeinen van de vermelde domeinen worden ook uitgesloten.
  • excludedRequestDomains

    string[] optioneel

    Chrome 101+

    De regel komt niet overeen met netwerkverzoeken als de domeinen overeenkomen met een domein uit de lijst met excludedRequestDomains. Als de lijst leeg is of wordt weggelaten, worden er geen domeinen uitgesloten. Dit krijgt voorrang op requestDomains.

    Opmerkingen:

    • Subdomeinen zoals a.example.com zijn ook toegestaan.
    • De vermeldingen mogen alleen ASCII-tekens bevatten.
    • Gebruik punycode-codering voor geïnternationaliseerde domeinen.
    • Subdomeinen van de vermelde domeinen worden ook uitgesloten.
  • excludedRequestMethods

    RequestMethod[] optioneel

    Chrome 91+

    Lijst met verzoekmethoden die niet overeenkomen met de regel. Er moet maar één van requestMethods en excludedRequestMethods worden ingevoerd. Als geen van beide is opgegeven, komen alle verzoekmethoden overeen.

  • excludedResourceTypes

    ResourceType[] optioneel

    Lijst met resourcetypen die niet overeenkomen met de regel. Er moet maar één van resourceTypes en excludedResourceTypes worden ingevoerd. Als geen van beide is opgegeven, worden alle resourcetypen behalve main_frame geblokkeerd.

  • excludedResponseHeaders

    HeaderInfo[] optioneel

    Chrome 128+

    De regel komt niet overeen als het verzoek overeenkomt met een voorwaarde voor reactieheaders in deze lijst (indien gespecificeerd). Als zowel excludedResponseHeaders als responseHeaders zijn ingevoerd, heeft de property excludedResponseHeaders voorrang.

  • excludedTabIds

    number[] optioneel

    Chrome 92+

    Lijst met tabs.Tab.id die niet overeen mogen komen met de regel. Een ID van tabs.TAB_ID_NONE sluit verzoeken uit die niet afkomstig zijn van een tabblad. Alleen ondersteund voor sessiegerichte regels.

  • excludedTopDomains

    string[] optioneel

    Chrome 145+

    De regel komt niet overeen met netwerkverzoeken als het domein van het bijbehorende frame op het hoogste niveau overeenkomt met een domein uit de lijst met excludedTopDomains. Als de lijst leeg is of wordt weggelaten, worden er geen domeinen uitgesloten. Dit krijgt voorrang op topDomains.

    Opmerkingen:

    • Subdomeinen zoals a.example.com zijn ook toegestaan.
    • De vermeldingen mogen alleen ASCII-tekens bevatten.
    • Gebruik punycode-codering voor geïnternationaliseerde domeinen.
    • Subdomeinen van de vermelde domeinen worden ook uitgesloten.
    • Voor verzoeken zonder bijbehorend frame op het hoogste niveau (bijvoorbeeld verzoeken die zijn gestart door ServiceWorker) wordt in plaats daarvan het domein van de verzoekstarter gebruikt.
  • initiatorDomains

    string[] optioneel

    Chrome 101+

    De regel komt alleen overeen met netwerkverzoeken die afkomstig zijn van de lijst met initiatorDomains. Als de lijst wordt weggelaten, wordt de regel toegepast op verzoeken van alle domeinen. Een lege lijst is niet toegestaan.

    Opmerkingen:

    • Subdomeinen zoals a.example.com zijn ook toegestaan.
    • De vermeldingen mogen alleen ASCII-tekens bevatten.
    • Gebruik punycode-codering voor geïnternationaliseerde domeinen.
    • Dit komt overeen met de initiator van het verzoek en niet met de verzoek-URL.
    • Subdomeinen van de vermelde domeinen worden ook gematcht.
  • isUrlFilterCaseSensitive

    booleaans optioneel

    Of de urlFilter of regexFilter (afhankelijk van wat is opgegeven) hoofdlettergevoelig is. De standaardwaarde is onwaar.

  • regexFilter

    tekenreeks optioneel

    Reguliere expressie die moet overeenkomen met de URL van het netwerkverzoek. Dit volgt de RE2-syntaxis.

    Opmerking: Je kunt maar één van urlFilter of regexFilter invoeren.

    Opmerking: De regexFilter mag alleen uit ASCII-tekens bestaan. Dit wordt vergeleken met een URL waarbij de host is gecodeerd in de punycode-indeling (in het geval van geïnternationaliseerde domeinen) en andere niet-ASCII-tekens URL-gecodeerd zijn in UTF-8.

  • requestDomains

    string[] optioneel

    Chrome 101+

    De regel komt alleen overeen met netwerkverzoeken als het domein overeenkomt met een domein uit de lijst met requestDomains. Als de lijst wordt weggelaten, wordt de regel toegepast op verzoeken van alle domeinen. Een lege lijst is niet toegestaan.

    Opmerkingen:

    • Subdomeinen zoals a.example.com zijn ook toegestaan.
    • De vermeldingen mogen alleen ASCII-tekens bevatten.
    • Gebruik punycode-codering voor geïnternationaliseerde domeinen.
    • Subdomeinen van de vermelde domeinen worden ook gematcht.
  • requestMethods

    RequestMethod[] optioneel

    Chrome 91+

    Lijst met HTTP-verzoekmethoden die overeenkomen met de regel. Een lege lijst is niet toegestaan.

    Opmerking: Als je een regelvoorwaarde voor requestMethods invoert, worden niet-HTTP(s)-verzoeken ook uitgesloten. Als je excludedRequestMethods invoert, gebeurt dit niet.

  • resourceTypes

    ResourceType[] optioneel

    Lijst met resourcetypen die overeenkomen met de regel. Een lege lijst is niet toegestaan.

    Opmerking: Dit moet worden gespecificeerd voor allowAllRequests-regels en mag alleen de brontypen sub_frame en main_frame bevatten.

  • responseHeaders

    HeaderInfo[] optioneel

    Chrome 128 of hoger

    De regel komt overeen als het verzoek overeenkomt met een voorwaarde voor reactieheaders in deze lijst (indien gespecificeerd).

  • tabIds

    number[] optioneel

    Chrome 92+

    Lijst met tabs.Tab.id waarmee de regel moet overeenkomen. Een ID van tabs.TAB_ID_NONE komt overeen met verzoeken die niet afkomstig zijn van een tabblad. Een lege lijst is niet toegestaan. Alleen ondersteund voor sessiegerichte regels.

  • topDomains

    string[] optioneel

    Chrome 145+

    De regel komt alleen overeen met netwerkverzoeken als het domein van het bijbehorende frame op het hoogste niveau overeenkomt met een domein uit de lijst met topDomains. Als de lijst wordt weggelaten, wordt de regel toegepast op verzoeken die zijn gekoppeld aan alle domeinen van frames op het hoogste niveau. Een lege lijst is niet toegestaan.

    Opmerkingen:

    • Subdomeinen zoals a.example.com zijn ook toegestaan.
    • De vermeldingen mogen alleen ASCII-tekens bevatten.
    • Gebruik punycode-codering voor geïnternationaliseerde domeinen.
    • Subdomeinen van de vermelde domeinen worden ook gematcht.
    • Voor verzoeken zonder bijbehorend frame op het hoogste niveau (bijvoorbeeld verzoeken die zijn gestart door ServiceWorker) wordt in plaats daarvan het domein van de verzoekstarter gebruikt.
  • urlFilter

    tekenreeks optioneel

    Het patroon dat wordt vergeleken met de URL van het netwerkverzoek. Ondersteunde constructies:

    * : Jokerteken: Komt overeen met een willekeurig aantal tekens.

    '|' : Anker links/rechts: Als dit aan een van de uiteinden van het patroon wordt gebruikt, geeft dit respectievelijk het begin of het einde van de URL aan.

    '||' : Domeinnaamanker: Als dit aan het begin van het patroon wordt gebruikt, geeft dit het begin van een (sub)domein van de URL aan.

    '^' : Scheidingsteken: Dit komt overeen met alles behalve een letter, een cijfer of een van de volgende tekens: _, -, . of %. Dit komt ook overeen met het einde van de URL.

    Daarom bestaat urlFilter uit de volgende delen: (optioneel anker links/domeinnaam) + patroon + (optioneel anker rechts).

    Als je dit weglaat, worden alle URL's gematcht. Een lege tekenreeks is niet toegestaan.

    Een patroon dat begint met ||* is niet toegestaan. Gebruik in plaats daarvan *.

    Opmerking: Je kunt maar één van urlFilter of regexFilter invoeren.

    Opmerking: De urlFilter mag alleen uit ASCII-tekens bestaan. Dit wordt vergeleken met een URL waarbij de host is gecodeerd in de punycode-indeling (in het geval van geïnternationaliseerde domeinen) en andere niet-ASCII-tekens URL-gecodeerd zijn in UTF-8. Als de verzoek-URL bijvoorbeeld http://abc.рф?q=ф is, wordt de urlFilter vergeleken met de URL http://abc.xn--p1ai/?q=%D1%84.

RuleConditionKeys

Chrome 145+

Enum

"urlFilter"

regexFilter

"isUrlFilterCaseSensitive"

"initiatorDomains"

"excludedInitiatorDomains"

"requestDomains"

"excludedRequestDomains"

"topDomains"

"excludedTopDomains"

"domains"

"excludedDomains"

"resourceTypes"

"excludedResourceTypes"

"requestMethods"

"excludedRequestMethods"

"domainType"

"tabIds"

"excludedTabIds"

responseHeaders

"excludedResponseHeaders"

Ruleset

Eigenschappen

  • aangezet

    booleaans

    Of de regelset standaard aanstaat.

  • id

    tekenreeks

    Een niet-lege tekenreeks die de regelset uniek identificeert. ID's die beginnen met '_' zijn gereserveerd voor intern gebruik.

  • pad

    tekenreeks

    Het pad van de json-regelset ten opzichte van de extensiemap.

RulesMatchedDetails

Eigenschappen

  • rulesMatchedInfo

    Regels die overeenkomen met het opgegeven filter.

TabActionCountUpdate

Chrome 89+

Eigenschappen

  • verhogen

    getal

    Het aantal waarmee het aantal acties van het tabblad moet worden verhoogd. Negatieve waarden verlagen het aantal.

  • tabId

    getal

    Het tabblad waarvoor je het aantal acties wilt updaten.

TestMatchOutcomeResult

Chrome 103+

Eigenschappen

  • matchedRules

    De regels (indien van toepassing) die overeenkomen met het hypothetische verzoek.

TestMatchRequestDetails

Chrome 103+

Eigenschappen

  • initiator

    tekenreeks optioneel

    De initiator-URL (indien van toepassing) voor het hypothetische verzoek.

  • method

    RequestMethod optioneel

    Standaard HTTP-methode van het hypothetische verzoek. De standaardwaarde is 'get' voor HTTP-verzoeken en wordt genegeerd voor niet-HTTP-verzoeken.

  • responseHeaders

    object optioneel

    Chrome 129 of hoger

    De headers die worden geleverd door een hypothetische reactie als het verzoek niet wordt geblokkeerd of omgeleid voordat het wordt gestuurd. Weergegeven als een object dat een headernaam toewijst aan een lijst met tekenreekswaarden. Als je dit niet opgeeft, retourneert de hypothetische reactie lege reactieheaders. Deze kunnen overeenkomen met regels die overeenkomen met de niet-bestaande headers. Bijv. {"content-type": ["text/html; charset=utf-8", "multipart/form-data"]}

  • tabId

    number optioneel

    De ID van het tabblad waarin het hypothetische verzoek plaatsvindt. Hoeft niet overeen te komen met een echte tabblad-ID. De standaardwaarde is -1, wat betekent dat het verzoek niet is gerelateerd aan een tabblad.

  • topUrl

    tekenreeks optioneel

    Chrome 145+

    De bijbehorende URL van het frame op het hoogste niveau (indien van toepassing) voor het verzoek.

  • Het resourcetype van het hypothetische verzoek.

  • url

    tekenreeks

    De URL van het hypothetische verzoek.

UnsupportedRegexReason

Chrome 87+

Beschrijft de reden waarom een bepaalde reguliere expressie niet wordt ondersteund.

Enum

"syntaxError"
De reguliere expressie is syntactisch onjuist of gebruikt functies die niet beschikbaar zijn in de RE2-syntaxis.

"memoryLimitExceeded"
De reguliere expressie overschrijdt de geheugenlimiet.

UpdateRuleOptions

Chrome 87+

Eigenschappen

  • addRules

    Rule[] optioneel

    Regels die je wilt toevoegen.

  • removeRuleIds

    number[] optioneel

    ID's van de regels die je wilt verwijderen. Ongeldige ID's worden genegeerd.

UpdateRulesetOptions

Chrome 87+

Eigenschappen

  • disableRulesetIds

    string[] optioneel

    De set ID's die overeenkomen met een statische Ruleset die moet worden uitgezet.

  • enableRulesetIds

    string[] optioneel

    De set ID's die overeenkomt met een statische Ruleset die moet worden aangezet.

UpdateStaticRulesOptions

Chrome 111+

Eigenschappen

  • disableRuleIds

    number[] optioneel

    Set ID's die overeenkomen met regels in de Ruleset die moeten worden uitgezet.

  • enableRuleIds

    number[] optioneel

    Reeks ID's die overeenkomen met regels in de Ruleset die moeten worden aangezet.

  • rulesetId

    tekenreeks

    De ID die overeenkomt met een statische Ruleset.

URLTransform

Eigenschappen

  • fragment

    tekenreeks optioneel

    Het nieuwe fragment voor het verzoek. Moet leeg zijn (in dat geval wordt het bestaande fragment gewist) of moet beginnen met #.

  • host

    tekenreeks optioneel

    De nieuwe host voor het verzoek.

  • wachtwoord

    tekenreeks optioneel

    Het nieuwe wachtwoord voor het verzoek.

  • pad

    tekenreeks optioneel

    Het nieuwe pad voor het verzoek. Als dit veld leeg is, wordt het bestaande pad gewist.

  • poort

    tekenreeks optioneel

    De nieuwe poort voor het verzoek. Als u dit veld leeg laat, wordt de bestaande poort gewist.

  • query

    tekenreeks optioneel

    De nieuwe zoekopdracht voor het verzoek. Moet leeg zijn (in dat geval wordt de bestaande query gewist) of moet beginnen met '?'.

  • queryTransform

    QueryTransform optioneel

    Sleutel/waarde-paren voor query's toevoegen, verwijderen of vervangen.

  • schema

    tekenreeks optioneel

    Het nieuwe schema voor het verzoek. Toegestane waarden zijn http, https, ftp en chrome-extension.

  • gebruikersnaam

    tekenreeks optioneel

    De nieuwe gebruikersnaam voor het verzoek.

Eigenschappen

DYNAMIC_RULESET_ID

ID van de regelset voor de dynamische regels die door de extensie zijn toegevoegd.

Waarde

"_dynamic"

GETMATCHEDRULES_QUOTA_INTERVAL

Tijdsinterval waarbinnen MAX_GETMATCHEDRULES_CALLS_PER_INTERVAL getMatchedRules-gesprekken kunnen worden gevoerd, aangegeven in minuten. Aanvullende aanroepen mislukken onmiddellijk en stellen runtime.lastError in. Opmerking: getMatchedRules-aanroepen die zijn gekoppeld aan een gebruikersactivatie, zijn vrijgesteld van het quotum.

Waarde

10

GUARANTEED_MINIMUM_STATIC_RULES

Chrome 89+

Het minimumaantal statische regels dat aan een extensie is gegarandeerd voor de aangezette statische regelsets. Regels boven deze limiet tellen mee voor de wereldwijde limiet voor statische regels.

Waarde

30.000

MAX_GETMATCHEDRULES_CALLS_PER_INTERVAL

Het aantal keren dat getMatchedRules kan worden aangeroepen binnen een periode van GETMATCHEDRULES_QUOTA_INTERVAL.

Waarde

20

MAX_NUMBER_OF_DYNAMIC_RULES

Het maximale aantal dynamische regels dat een extensie kan toevoegen.

Waarde

30.000

MAX_NUMBER_OF_ENABLED_STATIC_RULESETS

Chrome 94+

Het maximumaantal statische Rulesets dat een extensie tegelijk kan aanzetten.

Waarde

50

MAX_NUMBER_OF_REGEX_RULES

Het maximale aantal regels voor reguliere expressies dat een extensie kan toevoegen. Deze limiet wordt afzonderlijk geëvalueerd voor de set dynamische regels en de regels die zijn opgegeven in het bestand met regelbronnen.

Waarde

1000

MAX_NUMBER_OF_SESSION_RULES

Chrome 120+

Het maximale aantal regels met sessiebereik dat een extensie kan toevoegen.

Waarde

5000

MAX_NUMBER_OF_STATIC_RULESETS

Het maximumaantal statische Rulesets dat een extensie kan specificeren als onderdeel van de manifestsleutel "rule_resources".

Waarde

100

MAX_NUMBER_OF_UNSAFE_DYNAMIC_RULES

Chrome 120+

Het maximale aantal 'onveilige' dynamische regels dat een extensie kan toevoegen.

Waarde

5000

MAX_NUMBER_OF_UNSAFE_SESSION_RULES

Chrome 120+

Het maximale aantal 'onveilige' regels met sessiebereik dat een extensie kan toevoegen.

Waarde

5000

SESSION_RULESET_ID

Chrome 90+

Regelset-ID voor de sessiegerichte regels die door de extensie zijn toegevoegd.

Waarde

"_session"

Methoden

getAvailableStaticRuleCount()

Promise Chrome 89+
chrome.declarativeNetRequest.getAvailableStaticRuleCount(
  callback?: function,
)
: Promise<number>

Retourneert het aantal statische regels dat een extensie kan aanzetten voordat de wereldwijde limiet voor statische regels wordt bereikt.

Parameters

  • callback

    functie optioneel

    De parameter callback ziet er zo uit:

    (count: number) => void

    • aantal

      getal

Retourzendingen

  • Promise<number>

    Chrome 91+

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

getDisabledRuleIds()

Promise Chrome 111+
chrome.declarativeNetRequest.getDisabledRuleIds(
  options: GetDisabledRuleIdsOptions,
  callback?: function,
)
: Promise<number[]>

Retourneert de lijst met statische regels in de opgegeven Ruleset die op dit moment zijn uitgezet.

Parameters

  • Hiermee wordt de regelset opgegeven die moet worden opgevraagd.

  • callback

    functie optioneel

    De parameter callback ziet er zo uit:

    (disabledRuleIds: number[]) => void

    • disabledRuleIds

      number[]

Retourzendingen

  • Promise<number[]>

    Promise die wordt omgezet in een lijst met ID's die overeenkomen met de uitgezette regels in die regelset.

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

getDynamicRules()

Promise
chrome.declarativeNetRequest.getDynamicRules(
  filter?: GetRulesFilter,
  callback?: function,
)
: Promise<Rule[]>

Retourneert de huidige set dynamische regels voor de extensie. Bellers kunnen de lijst met opgehaalde regels filteren door een filter in te voeren.

Parameters

  • filter

    GetRulesFilter optioneel

    Chrome 111+

    Een object om de lijst met opgehaalde regels te filteren.

  • callback

    functie optioneel

    De parameter callback ziet er zo uit:

    (rules: Rule[]) => void

Retourzendingen

  • Promise<Rule[]>

    Chrome 91+

    Promise die wordt opgelost met de set dynamische regels. De Promise kan worden afgewezen in het geval van tijdelijke interne fouten.

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

getEnabledRulesets()

Promise
chrome.declarativeNetRequest.getEnabledRulesets(
  callback?: function,
)
: Promise<string[]>

Retourneert de ID's voor de huidige set aangezette statische regelsets.

Parameters

  • callback

    functie optioneel

    De parameter callback ziet er zo uit:

    (rulesetIds: string[]) => void

    • rulesetIds

      tekenreeks[]

Retourzendingen

  • Promise<string[]>

    Chrome 91+

    Promise die wordt omgezet in een lijst met ID's, waarbij elke ID overeenkomt met een aangezette statische Ruleset.

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

getMatchedRules()

Promise
chrome.declarativeNetRequest.getMatchedRules(
  filter?: MatchedRulesFilter,
  callback?: function,
)
: Promise<RulesMatchedDetails>

Retourneert alle regels die overeenkomen met de extensie. Bellers kunnen de lijst met overeenkomende regels filteren door een filter in te voeren. Deze methode is alleen beschikbaar voor extensies met het recht "declarativeNetRequestFeedback" of met het recht "activeTab" dat is verleend voor de tabId die is opgegeven in filter. Opmerking: Regels die niet zijn gekoppeld aan een actief document en die meer dan 5 minuten geleden zijn gevonden, worden niet geretourneerd.

Parameters

Retourzendingen

  • Chrome 91+

    Promise die wordt opgelost nadat de lijst met overeenkomende regels is opgehaald. In het geval van een fout wordt de Promise afgewezen. Dit kan verschillende redenen hebben, zoals onvoldoende rechten of overschrijding van het quotum.

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

getSessionRules()

Promise Chrome 90+
chrome.declarativeNetRequest.getSessionRules(
  filter?: GetRulesFilter,
  callback?: function,
)
: Promise<Rule[]>

Retourneert de huidige set regels met sessiebereik voor de extensie. Bellers kunnen de lijst met opgehaalde regels filteren door een filter in te voeren.

Parameters

  • filter

    GetRulesFilter optioneel

    Chrome 111+

    Een object om de lijst met opgehaalde regels te filteren.

  • callback

    functie optioneel

    De parameter callback ziet er zo uit:

    (rules: Rule[]) => void

Retourzendingen

  • Promise<Rule[]>

    Chrome 91+

    Promise die wordt omgezet met de set regels met sessiebereik.

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

isRegexSupported()

Promise Chrome 87+
chrome.declarativeNetRequest.isRegexSupported(
  regexOptions: RegexOptions,
  callback?: function,
)
: Promise<IsRegexSupportedResult>

Controleert of de ingevoerde reguliere expressie wordt ondersteund als een regexFilter-regelvoorwaarde.

Parameters

Retourzendingen

  • Chrome 91+

    Promise die wordt opgelost met details over of de reguliere expressie wordt ondersteund en de reden als dat niet het geval is.

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

setExtensionActionOptions()

Promise Chrome 88+
chrome.declarativeNetRequest.setExtensionActionOptions(
  options: ExtensionActionOptions,
  callback?: function,
)
: Promise<void>

Hiermee stel je in of het aantal acties voor tabbladen moet worden getoond als de badgetekst van de extensieactie en bied je een manier om dat aantal acties te verhogen.

Parameters

  • callback

    functie optioneel

    Chrome 89+

    De parameter callback ziet er zo uit:

    () => void

Retourzendingen

  • Promise<void>

    Chrome 91+

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

testMatchOutcome()

Promise Chrome 103+
chrome.declarativeNetRequest.testMatchOutcome(
  request: TestMatchRequestDetails,
  callback?: function,
)
: Promise<TestMatchOutcomeResult>

Controleert of een van de declarativeNetRequest-regels van de extensie overeenkomt met een hypothetisch verzoek. Opmerking: Alleen beschikbaar voor uitgepakte extensies, omdat dit alleen bedoeld is voor gebruik tijdens de ontwikkeling van extensies.

Parameters

Retourzendingen

  • Promise die wordt opgelost met de details van overeenkomende regels.

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

updateDynamicRules()

Promise
chrome.declarativeNetRequest.updateDynamicRules(
  options: UpdateRuleOptions,
  callback?: function,
)
: Promise<void>

Wijzigt de huidige set dynamische regels voor de extensie. De regels met ID's die worden vermeld in options.removeRuleIds, worden eerst verwijderd. Daarna worden de regels in options.addRules toegevoegd. Opmerkingen:

  • Deze update vindt plaats als één atomische bewerking: alle opgegeven regels worden toegevoegd en verwijderd of er wordt een fout geretourneerd.
  • Deze regels blijven behouden tijdens browsersessies en extensie-updates.
  • Statische regels die zijn opgegeven als onderdeel van het extensiepakket, kunnen niet worden verwijderd met deze functie.
  • MAX_NUMBER_OF_DYNAMIC_RULES is het maximale aantal dynamische regels dat een extensie kan toevoegen. Het aantal onveilige regels mag niet hoger zijn dan MAX_NUMBER_OF_UNSAFE_DYNAMIC_RULES.

Parameters

  • Chrome 87+
  • callback

    functie optioneel

    De parameter callback ziet er zo uit:

    () => void

Retourzendingen

  • Promise<void>

    Chrome 91+

    Promise die wordt opgelost zodra de update is afgerond. In het geval van een fout wordt de promise afgewezen en wordt de regelset niet gewijzigd. Dit kan verschillende redenen hebben, zoals een ongeldige regelindeling, een dubbele regel-ID, overschrijding van de limiet voor het aantal regels of interne fouten.

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

updateEnabledRulesets()

Promise
chrome.declarativeNetRequest.updateEnabledRulesets(
  options: UpdateRulesetOptions,
  callback?: function,
)
: Promise<void>

Updatet de set aangezette statische regelsets voor de extensie. De regelsets met ID's die worden vermeld in options.disableRulesetIds worden eerst verwijderd en daarna worden de regelsets toegevoegd die worden vermeld in options.enableRulesetIds. De set aangezette statische regelsets blijft behouden tussen sessies, maar niet tussen extensie-updates. De manifestsleutel rule_resources bepaalt de set aangezette statische regelsets bij elke extensie-update.

Parameters

  • Chrome 87+
  • callback

    functie optioneel

    De parameter callback ziet er zo uit:

    () => void

Retourzendingen

  • Promise<void>

    Chrome 91+

    Promise die wordt opgelost zodra de update is afgerond. In het geval van een fout wordt de promise afgewezen en wordt er geen wijziging aangebracht in de set aangezette regelsets. Dit kan verschillende redenen hebben, zoals ongeldige regelset-ID's, overschrijding van de limiet voor het aantal regels of interne fouten.

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

updateSessionRules()

Promise Chrome 90+
chrome.declarativeNetRequest.updateSessionRules(
  options: UpdateRuleOptions,
  callback?: function,
)
: Promise<void>

Wijzigt de huidige set regels met sessiebereik voor de extensie. De regels met ID's die worden vermeld in options.removeRuleIds, worden eerst verwijderd. Daarna worden de regels in options.addRules toegevoegd. Opmerkingen:

  • Deze update vindt plaats als één atomische bewerking: alle opgegeven regels worden toegevoegd en verwijderd of er wordt een fout geretourneerd.
  • Deze regels blijven niet behouden tussen sessies en worden opgeslagen in het geheugen.
  • MAX_NUMBER_OF_SESSION_RULES is het maximumaantal sessieregels dat een extensie kan toevoegen.

Parameters

  • callback

    functie optioneel

    De parameter callback ziet er zo uit:

    () => void

Retourzendingen

  • Promise<void>

    Chrome 91+

    Promise die wordt opgelost zodra de update is afgerond. In het geval van een fout wordt de promise afgewezen en wordt de regelset niet gewijzigd. Dit kan verschillende redenen hebben, zoals een ongeldige regelindeling, een dubbele regel-ID of een overschrijding van de limiet voor het aantal regels.

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

updateStaticRules()

Promise Chrome 111+
chrome.declarativeNetRequest.updateStaticRules(
  options: UpdateStaticRulesOptions,
  callback?: function,
)
: Promise<void>

Zet afzonderlijke statische regels in een Ruleset aan of uit. Wijzigingen in regels die horen bij een uitgezette Ruleset worden van kracht als deze weer wordt aangezet.

Parameters

Retourzendingen

  • Promise<void>

    Promise die wordt opgelost als de update is afgerond. In het geval van een fout wordt de promise afgewezen en wordt er geen wijziging aangebracht in de aangezette statische regels.

    Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.

Evenementen

onRuleMatchedDebug

chrome.declarativeNetRequest.onRuleMatchedDebug.addListener(
  callback: function,
)

Wordt geactiveerd als een regel overeenkomt met een verzoek. Alleen beschikbaar voor uitgepakte extensies met het recht "declarativeNetRequestFeedback", omdat dit alleen bedoeld is voor foutopsporing.

Parameters