refresh date: 2026-09-25 robots: noindex
Beschrijving
Gebruik de chrome.contentSettings API om instellingen te wijzigen die bepalen of websites functies zoals cookies, JavaScript en plug-ins kunnen gebruiken. Meer in het algemeen kun je met contentinstellingen het gedrag van Chrome aanpassen per site in plaats van wereldwijd.
Rechten
contentSettingsManifest
Je moet het recht contentSettings definiëren in het manifest van je extensie om de API te kunnen gebruiken. Voorbeeld:
{
"name": "My extension",
...
"permissions": [
"contentSettings"
],
...
}
Patronen voor contentinstellingen
Je kunt patronen gebruiken om aan te geven op welke websites elke contentinstelling van toepassing is. https://*.youtube.com/* geeft bijvoorbeeld youtube.com en alle subdomeinen aan. De syntaxis voor patronen voor contentinstellingen is hetzelfde als voor overeenkomstpatronen, met een paar verschillen:
- Voor
http-,https- enftp-URL's moet het pad een wildcard (/*) zijn. Voorfile-URL's moet het pad volledig zijn gespecificeerd en mag het geen wildcards bevatten. - In tegenstelling tot overeenkomstpatronen kunnen patronen voor contentinstellingen een poortnummer bevatten. Als er een poortnummer is opgegeven, komt het patroon alleen overeen met websites met die poort. Als er geen poortnummer is opgegeven, komt het patroon overeen met alle poorten.
Patroonprioriteit
Als er meer dan één regel voor contentinstellingen van toepassing is op een bepaalde site, krijgt de regel met het specifiekere patroon voorrang.
De volgende patronen zijn bijvoorbeeld geordend op prioriteit:
https://www.example.com/*https://*.example.com/*(komt overeen met example.com en alle subdomeinen)<all_urls>(komt overeen met elke URL)
Er zijn 3 soorten jokertekens die bepalen hoe specifiek een patroon is:
- Jokertekens in de poort (bijvoorbeeld
https://www.example.com:*/*) - Jokertekens in het schema (bijvoorbeeld
*://www.example.com:123/*) - Jokertekens in de hostnaam (bijvoorbeeld
https://*.example.com:123/*)
Als een patroon in een bepaald deel specifieker is dan een ander patroon, maar in een ander deel minder specifiek, worden de verschillende delen in de volgende volgorde gecontroleerd: hostnaam, schema, poort. De volgende patronen zijn bijvoorbeeld geordend op prioriteit:
https://www.example.com:*/*Hiermee worden de hostnaam en het schema aangegeven.*:/www.example.com:123/*Niet zo hoog, omdat de hostnaam wel wordt vermeld, maar het schema niet.https://*.example.com:123/*Lager, omdat de poort en het schema wel worden gespecificeerd, maar er een jokerteken in de hostnaam staat.
Primaire en secundaire patronen
De URL waarmee rekening wordt gehouden bij de beslissing welke contentinstelling moet worden toegepast, is afhankelijk van het contenttype.
Voor contentSettings.notifications zijn de instellingen bijvoorbeeld gebaseerd op de URL die wordt getoond in de omnibox. Deze URL wordt de primaire URL genoemd.
Voor sommige contenttypen kunnen extra URL's worden gebruikt. Of een site bijvoorbeeld een contentSettings.cookies mag instellen, wordt bepaald op basis van de URL van het HTTP-verzoek (in dit geval de primaire URL) en de URL die wordt getoond in de omnibox (de secundaire URL).
Als meerdere regels primaire en secundaire patronen hebben, krijgt de regel met het specifiekere primaire patroon voorrang. Als meerdere regels hetzelfde primaire patroon hebben, krijgt de regel met het specifiekere secundaire patroon voorrang. De volgende lijst met primaire/secundaire patroonparen is bijvoorbeeld geordend op prioriteit:
| Prioriteit | Primair patroon | Secundair patroon |
|---|---|---|
| 1 | https://www.moose.com/*, | https://www.wombat.com/* |
| 2 | https://www.moose.com/*, | <all_urls> |
| 3 | <all_urls>, | https://www.wombat.com/* |
| 4 | <all_urls>, | <all_urls> |
Bron-ID's
Met bron-ID's kun je contentinstellingen invoeren voor specifieke subtypes van een contenttype.
Op dit moment is het enige contenttype dat bron-ID's ondersteunt contentSettings.plugins,
waarbij een bron-ID een specifieke plug-in identificeert. Als je contentinstellingen toepast, worden eerst de instellingen voor de specifieke plug-in gecheckt. Als er geen instellingen worden gevonden voor de specifieke plug-in, worden de algemene contentinstellingen voor plug-ins gecheckt.
Als een regel voor contentinstellingen bijvoorbeeld de resource-ID adobe-flash-player en het patroon <all_urls> heeft, krijgt deze voorrang op een regel zonder resource-ID en het patroon https://www.example.com/*, zelfs als dat patroon specifieker is.
Je kunt een lijst met bron-ID's voor een contenttype krijgen door de methode contentSettings.ContentSetting.getResourceIdentifiers aan te roepen. De geretourneerde lijst kan veranderen met de set geïnstalleerde plug-ins op de computer van de gebruiker, maar Chrome probeert de ID's stabiel te houden tijdens plug-inupdates.
Voorbeelden
Als je deze API wilt proberen, installeer je het voorbeeld van de contentSettings API uit de repository chrome-extension-samples.
Typen
AutoVerifyContentSetting
Enum
allow
"block"
CameraContentSetting
Enum
allow
"block"
"ask"
ClipboardContentSetting
Enum
allow
"block"
"ask"
ContentSetting
Eigenschappen
-
wissen
ongeldig
PromiseWis alle regels voor contentinstellingen die door deze extensie zijn ingesteld.
De functie
clearziet er zo uit:(details: object, callback?: function) => {...}
-
details
object
-
bereik
Bereik optioneel
Waar de instelling moet worden gewist (standaard: normaal).
-
-
callback
functie optioneel
De parameter
callbackziet er zo uit:() => void
-
returns
Promise<void>
Chrome 96+Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.
-
-
get
ongeldig
PromiseHaalt de huidige contentinstelling op voor een bepaald paar URL's.
De functie
getziet er zo uit:(details: object, callback?: function) => {...}
-
details
object
-
incognito
booleaans optioneel
Of de contentinstellingen voor een incognitosessie moeten worden gecontroleerd. (standaard false)
-
primaryUrl
tekenreeks
De primaire URL waarvoor de contentinstelling moet worden opgehaald. De betekenis van een primaire URL is afhankelijk van het contenttype.
-
resourceIdentifier
ResourceIdentifier optioneel
Een specifiekere ID van het type content waarvoor de instellingen moeten worden opgehaald.
-
secondaryUrl
tekenreeks optioneel
De secundaire URL waarvoor de contentinstelling moet worden opgehaald. De standaardwaarde is de primaire URL. De betekenis van een secundaire URL is afhankelijk van het contenttype. Niet alle contenttypen gebruiken secundaire URL's.
-
-
callback
functie optioneel
De parameter
callbackziet er zo uit:(details: object) => void
-
details
object
-
instelling
D
De contentinstelling. Bekijk de beschrijving van de afzonderlijke ContentSetting-objecten voor de mogelijke waarden.
-
-
-
returns
Promise<object>
Chrome 96+Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.
-
-
getResourceIdentifiers
ongeldig
PromiseDe functie
getResourceIdentifiersziet er zo uit:(callback?: function) => {...}
-
callback
functie optioneel
De parameter
callbackziet er zo uit:(resourceIdentifiers?: ResourceIdentifier[]) => void
-
resourceIdentifiers
ResourceIdentifier[] optioneel
Een lijst met resource-ID's voor dit contenttype of
undefinedals dit contenttype geen resource-ID's gebruikt.
-
-
returns
Promise<ResourceIdentifier[]>
Chrome 96+Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.
-
-
set
ongeldig
PromisePast een nieuwe regel voor contentinstellingen toe.
De functie
setziet er zo uit:(details: object, callback?: function) => {...}
-
details
object
-
primaryPattern
tekenreeks
Het patroon voor de primaire URL. Ga naar Patronen voor contentinstellingen voor meer informatie over de indeling van een patroon.
-
resourceIdentifier
ResourceIdentifier optioneel
De resource-ID voor het contenttype.
-
bereik
Bereik optioneel
Waar je de instelling instelt (standaard: normaal).
-
secondaryPattern
tekenreeks optioneel
Het patroon voor de secundaire URL. Standaard worden alle URL's gematcht. Ga naar Patronen voor contentinstellingen voor meer informatie over de indeling van een patroon.
-
instelling
alle
De instelling die door deze regel wordt toegepast. Bekijk de beschrijving van de afzonderlijke ContentSetting-objecten voor de mogelijke waarden.
-
-
callback
functie optioneel
De parameter
callbackziet er zo uit:() => void
-
returns
Promise<void>
Chrome 96+Promises worden alleen ondersteund voor Manifest V3 en hoger. Andere platforms moeten callbacks gebruiken.
-
CookiesContentSetting
Enum
allow
"block"
session_only
FullscreenContentSetting
Waarde
allow
ImagesContentSetting
Enum
allow
"block"
JavascriptContentSetting
Enum
allow
"block"
LocationContentSetting
Enum
allow
"block"
"ask"
MicrophoneContentSetting
Enum
allow
"block"
"ask"
MouselockContentSetting
Waarde
allow
MultipleAutomaticDownloadsContentSetting
Enum
allow
"block"
"ask"
NotificationsContentSetting
Enum
allow
"block"
"ask"
PluginsContentSetting
Waarde
"block"
PopupsContentSetting
Enum
allow
"block"
PpapiBrokerContentSetting
Waarde
"block"
ResourceIdentifier
Het enige contenttype dat resource-ID's gebruikt, is contentSettings.plugins. Ga naar Resource-ID's voor meer informatie.
Eigenschappen
-
beschrijving
tekenreeks optioneel
Een door mensen leesbare beschrijving van de faciliteit.
-
id
tekenreeks
De bron-ID voor het gegeven contenttype.
Scope
Het bereik van de ContentSetting. Een van de volgende:
regular: instelling voor een normaal profiel (die wordt overgenomen door het incognitoprofiel als deze niet ergens anders wordt overschreven),
incognito\_session\_only: instelling voor een incognitoprofiel die alleen kan worden ingesteld tijdens een incognitosessie en wordt verwijderd als de incognitosessie wordt beëindigd (overschrijft normale instellingen).
Enum
"regular"
"incognito_session_only"
SoundContentSetting
Enum
allow
"block"
Eigenschappen
automaticDownloads
Of sites automatisch meerdere bestanden mogen downloaden. Een van de volgende:
allow: Toestaan dat sites automatisch meerdere bestanden downloaden,
block: Niet toestaan dat sites automatisch meerdere bestanden downloaden,
ask: Vragen wanneer een site automatisch bestanden wil downloaden na het eerste bestand.
De standaardwaarde is ask.
De primaire URL is de URL van het frame op het hoogste niveau. De secundaire URL wordt niet gebruikt.
autoVerify
Of sites de Private State Tokens API mogen gebruiken. Een van de volgende:
allow: Toestaan dat sites de Private State Tokens API gebruiken,
block: Voorkomen dat sites de Private State Tokens API gebruiken.
De standaardwaarde is allow.
Als je set() aanroept, moet het primaire URL-patroon <all_urls> zijn. De secundaire URL wordt niet gebruikt.
camera
Of sites toegang tot de camera mogen krijgen. Een van de volgende:
allow: Sites toegang geven tot de camera,
block: Sites geen toegang geven tot de camera,
ask: Vragen wanneer een site toegang tot de camera wil.
De standaardwaarde is ask.
De primaire URL is de URL van het document dat om cameratoegang heeft gevraagd. De secundaire URL wordt niet gebruikt.
OPMERKING: De instelling Toestaan is niet geldig als beide patronen '<all_urls>' zijn.
clipboard
Of sites toegang mogen krijgen tot het klembord via geavanceerde functies van de Async Clipboard API. Geavanceerde mogelijkheden omvatten alles behalve het schrijven van ingebouwde indelingen na een gebruikersactivatie, zoals de mogelijkheid om te lezen, de mogelijkheid om aangepaste indelingen te schrijven en de mogelijkheid om te schrijven zonder gebruikersactivatie. Een van de volgende:
allow: Toestaan dat sites geavanceerde klembordfuncties gebruiken,
block: Niet toestaan dat sites geavanceerde klembordfuncties gebruiken,
ask: Vragen wanneer een site geavanceerde klembordfuncties wil gebruiken.
De standaardwaarde is ask.
De primaire URL is de URL van het document dat toegang tot het klembord heeft gevraagd. De secundaire URL wordt niet gebruikt.
cookies
Of websites cookies en andere lokale gegevens mogen instellen. Een van de volgende:
allow: Cookies accepteren,
block: Cookies blokkeren,
session\_only: Cookies alleen accepteren voor de huidige sessie.
De standaardwaarde is allow.
De primaire URL is de URL die de oorsprong van de cookie vertegenwoordigt. De secundaire URL is de URL van het frame op het hoogste niveau.
fullscreen
Beëindigd. Heeft geen effect meer. Rechten voor volledig scherm worden nu automatisch toegekend voor alle sites. De waarde is altijd allow.
images
Of afbeeldingen moeten worden getoond. Een van de volgende:
allow: Afbeeldingen tonen,
block: Geen afbeeldingen tonen.
De standaardwaarde is allow.
De primaire URL is de URL van het frame op het hoogste niveau. De secundaire URL is de URL van de afbeelding.
javascript
Of JavaScript moet worden uitgevoerd. Een van de volgende:
allow: JavaScript uitvoeren,
block: JavaScript niet uitvoeren.
De standaardwaarde is allow.
De primaire URL is de URL van het frame op het hoogste niveau. De secundaire URL wordt niet gebruikt.
location
Of geolocatie is toegestaan. Een van de volgende:
allow: Toestaan dat sites je fysieke locatie volgen,
block: Niet toestaan dat sites je fysieke locatie volgen,
ask: Vragen voordat sites je fysieke locatie mogen volgen.
De standaardwaarde is ask.
De primaire URL is de URL van het document dat locatiegegevens heeft aangevraagd. De secundaire URL is de URL van het frame op het hoogste niveau (dat al dan niet verschilt van de aanvragende URL).
microphone
Of sites toegang tot de microfoon mogen krijgen. Een van de volgende:
allow: Sites toegang geven tot de microfoon,
block: Sites geen toegang geven tot de microfoon,
ask: Vragen wanneer een site toegang wil tot de microfoon.
De standaardwaarde is ask.
De primaire URL is de URL van het document dat om toegang tot de microfoon heeft gevraagd. De secundaire URL wordt niet gebruikt.
OPMERKING: De instelling Toestaan is niet geldig als beide patronen '<all_urls>' zijn.
mouselock
Beëindigd. Heeft geen effect meer. Het recht voor muisvergrendeling wordt nu automatisch toegekend voor alle sites. De waarde is altijd allow.
notifications
Of sites bureaubladmeldingen mogen tonen. Een van de volgende:
allow: Toestaan dat sites bureaubladmeldingen tonen,
block: Niet toestaan dat sites bureaubladmeldingen tonen,
ask: Vragen wanneer een site bureaubladmeldingen wil tonen.
De standaardwaarde is ask.
De primaire URL is de URL van het document dat de melding wil tonen. De secundaire URL wordt niet gebruikt.
plugins
Beëindigd. Omdat de ondersteuning voor Flash is verwijderd in Chrome 88, heeft dit recht geen effect meer. De waarde is altijd block. Gesprekken naar set() en clear() worden genegeerd.
popups
Of sites pop-ups mogen tonen. Een van de volgende:
allow: Toestaan dat sites pop-ups tonen,
block: Niet toestaan dat sites pop-ups tonen.
De standaardwaarde is block.
De primaire URL is de URL van het frame op het hoogste niveau. De secundaire URL wordt niet gebruikt.
unsandboxedPlugins
Beëindigd. Eerder bepaalde dit beleid of sites plug-ins mochten uitvoeren zonder sandbox. Nu het Flash-brokerproces is verwijderd in Chrome 88, heeft dit recht geen effect meer. De waarde is altijd block. Gesprekken naar set() en clear() worden genegeerd.