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
declarativeNetRequestdeclarativeNetRequestWithHostAccessdeclarativeNetRequestFeedbackhost_permissions
Beschikbaarheid
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.
- De prioriteit wordt bepaald voor regels binnen een extensie.
- 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:
- De regel met de hoogste door de ontwikkelaar gedefinieerde prioriteit (met andere woorden, het veld
"priority") wordt geretourneerd. 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:allowallowAllRequestsblockupgradeSchemeredirect
Als het actietype niet
blockofredirectis, worden alle overeenkomendemodifyHeaders-regels geëvalueerd. Als er regels zijn met een door de ontwikkelaar gedefinieerde prioriteit die lager is dan de prioriteit die is aangegeven voorallowenallowAllRequests, worden deze regels genegeerd.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:
Regels krijgen prioriteit via het veld
"action", in deze volgorde:blockredirectofupgradeSchemeallowofallowAllRequests
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
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
TabActionCountUpdate optioneel
Chrome 89+Informatie over hoe het aantal acties van het tabblad moet worden aangepast.
GetDisabledRuleIdsOptions
Eigenschappen
-
rulesetId
tekenreeks
De ID die overeenkomt met een statische
Ruleset.
GetRulesFilter
Eigenschappen
-
ruleIds
number[] optioneel
Als u dit opgeeft, worden alleen regels met overeenkomende ID's opgenomen.
HeaderInfo
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
valuesalsexcludedValuesniet 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
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
Eigenschappen
-
isSupported
booleaans
-
reden
UnsupportedRegexReason optioneel
Geeft de reden aan waarom de reguliere expressie niet wordt ondersteund. Wordt alleen verstrekt als
isSupportedonwaar is.
MatchedRule
Eigenschappen
-
ruleId
getal
De ID van een overeenkomstregel.
-
rulesetId
tekenreeks
ID van de
Rulesetwaartoe deze regel behoort. Voor een regel die afkomstig is van de set dynamische regels, is dit gelijk aanDYNAMIC_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
-
verzoek
Informatie over het verzoek waarvoor de regel is gevonden.
-
regel
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
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- enset-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
regexFilterspecificeren. De eerste overeenkomst vanregexFilterin de URL wordt vervangen door dit patroon. InregexSubstitutionkunnen 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
Eigenschappen
-
isCaseSensitive
booleaans optioneel
Of de ingevoerde
regexhoofdlettergevoelig is. De standaardwaarde is true. -
regex
tekenreeks
De reguliere expressie die moet worden gecontroleerd.
-
requireCapturing
booleaans optioneel
Of de ingevoerde
regexmoet worden vastgelegd. Vastleggen is alleen vereist voor omleidingsregels die eenregexSubstition-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
DocumentLifecycle optioneel
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 (
typeismain_frameofsub_frame), geeftframeIdde 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.
-
type
Het resourcetype van het verzoek.
-
url
tekenreeks
De URL van het verzoek.
RequestMethod
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.
-
type
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 101In plaats daarvan
initiatorDomainsgebruikenDe regel komt alleen overeen met netwerkverzoeken die afkomstig zijn van de lijst met
domains. -
excludedDomains
string[] optioneel
Beëindigd sinds Chrome 101In plaats daarvan
excludedInitiatorDomainsgebruikenDe 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 opinitiatorDomains.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 oprequestDomains.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
requestMethodsenexcludedRequestMethodsworden 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
resourceTypesenexcludedResourceTypesworden 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
excludedResponseHeadersalsresponseHeaderszijn ingevoerd, heeft de propertyexcludedResponseHeadersvoorrang. -
excludedTabIds
number[] optioneel
Chrome 92+Lijst met
tabs.Tab.iddie niet overeen mogen komen met de regel. Een ID vantabs.TAB_ID_NONEsluit 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 optopDomains.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
urlFilterofregexFilter(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
urlFilterofregexFilterinvoeren.Opmerking: De
regexFiltermag 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
requestMethodsinvoert, worden niet-HTTP(s)-verzoeken ook uitgesloten. Als jeexcludedRequestMethodsinvoert, 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 brontypensub_frameenmain_framebevatten. -
responseHeaders
HeaderInfo[] optioneel
Chrome 128 of hogerDe 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.idwaarmee de regel moet overeenkomen. Een ID vantabs.TAB_ID_NONEkomt 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
urlFilteruit 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
urlFilterofregexFilterinvoeren.Opmerking: De
urlFiltermag 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 deurlFiltervergeleken met de URL http://abc.xn--p1ai/?q=%D1%84.
RuleConditionKeys
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
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
Eigenschappen
-
matchedRules
De regels (indien van toepassing) die overeenkomen met het hypothetische verzoek.
TestMatchRequestDetails
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 hogerDe 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.
-
type
Het resourcetype van het hypothetische verzoek.
-
url
tekenreeks
De URL van het hypothetische verzoek.
UnsupportedRegexReason
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
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
Eigenschappen
UpdateStaticRulesOptions
Eigenschappen
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
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
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
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
Het maximale aantal 'onveilige' dynamische regels dat een extensie kan toevoegen.
Waarde
5000
MAX_NUMBER_OF_UNSAFE_SESSION_RULES
Het maximale aantal 'onveilige' regels met sessiebereik dat een extensie kan toevoegen.
Waarde
5000
SESSION_RULESET_ID
Regelset-ID voor de sessiegerichte regels die door de extensie zijn toegevoegd.
Waarde
"_session"
Methoden
getAvailableStaticRuleCount()
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
callbackziet 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()
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
-
opties
Hiermee wordt de regelset opgegeven die moet worden opgevraagd.
-
callback
functie optioneel
De parameter
callbackziet 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()
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
callbackziet er zo uit:(rules: Rule[]) => void
-
regels
Rule[]
-
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()
chrome.declarativeNetRequest.getEnabledRulesets(
callback?: function,
): Promise<string[]>
Retourneert de ID's voor de huidige set aangezette statische regelsets.
Parameters
-
callback
functie optioneel
De parameter
callbackziet 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()
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
-
filter
MatchedRulesFilter optioneel
Een object om de lijst met overeenkomende regels te filteren.
-
callback
functie optioneel
De parameter
callbackziet er zo uit:(details: RulesMatchedDetails) => void
-
details
-
Retourzendingen
-
Promise<RulesMatchedDetails>
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()
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
callbackziet er zo uit:(rules: Rule[]) => void
-
regels
Rule[]
-
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()
chrome.declarativeNetRequest.isRegexSupported(
regexOptions: RegexOptions,
callback?: function,
): Promise<IsRegexSupportedResult>
Controleert of de ingevoerde reguliere expressie wordt ondersteund als een regexFilter-regelvoorwaarde.
Parameters
-
regexOptions
De reguliere expressie die moet worden gecontroleerd.
-
callback
functie optioneel
De parameter
callbackziet er zo uit:(result: IsRegexSupportedResult) => void
-
resultaat
-
Retourzendingen
-
Promise<IsRegexSupportedResult>
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()
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
-
opties
-
callback
functie optioneel
Chrome 89+De parameter
callbackziet er zo uit:() => void
Retourzendingen
-
Promise<void>
Chrome 91+Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.
testMatchOutcome()
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
-
verzoek
-
callback
functie optioneel
De parameter
callbackziet er zo uit:(result: TestMatchOutcomeResult) => void
-
resultaat
-
Retourzendingen
-
Promise<TestMatchOutcomeResult>
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()
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_RULESis het maximale aantal dynamische regels dat een extensie kan toevoegen. Het aantal onveilige regels mag niet hoger zijn danMAX_NUMBER_OF_UNSAFE_DYNAMIC_RULES.
Parameters
-
optiesChrome 87+
-
callback
functie optioneel
De parameter
callbackziet 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()
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
-
optiesChrome 87+
-
callback
functie optioneel
De parameter
callbackziet 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()
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_RULESis het maximumaantal sessieregels dat een extensie kan toevoegen.
Parameters
-
opties
-
callback
functie optioneel
De parameter
callbackziet 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()
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
-
opties
-
callback
functie optioneel
De parameter
callbackziet er zo uit:() => void
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
-
callback
functie
De parameter
callbackziet er zo uit:(info: MatchedRuleInfoDebug) => void
-
info
-