refresh date: 2026-09-25 robots: noindex
Description
Utilisez l'API chrome.contentSettings pour modifier les paramètres qui déterminent si les sites Web peuvent utiliser des fonctionnalités telles que des cookies, du code JavaScript et des plug-ins. Plus généralement, les paramètres de contenu vous permettent de personnaliser le comportement de Chrome pour chaque site, plutôt que de manière globale.
Autorisations
contentSettingsFichier manifeste
Pour utiliser l'API, vous devez déclarer l'autorisation "contentSettings" dans le fichier manifeste de votre extension. Exemple :
{
"name": "My extension",
...
"permissions": [
"contentSettings"
],
...
}
Modèles de paramètres de contenu
Vous pouvez utiliser des modèles pour spécifier les sites Web concernés par chaque paramètre de contenu. Par exemple, https://*.youtube.com/* spécifie youtube.com et tous ses sous-domaines. La syntaxe des modèles de paramètres de contenu est la même que celle des modèles de correspondance, à quelques différences près :
- Pour les URL
http,httpsetftp, le chemin d'accès doit être un caractère générique (/*). Pour les URLfile, le chemin d'accès doit être entièrement spécifié et ne doit pas contenir de caractères génériques. - Contrairement aux formats d'identification, les formats de paramètres de contenu peuvent spécifier un numéro de port. Si un numéro de port est spécifié, le format ne correspond qu'aux sites Web utilisant ce port. Si aucun numéro de port n'est spécifié, le modèle correspond à tous les ports.
Priorité des modèles
Lorsque plusieurs règles de paramètre de contenu s'appliquent à un site donné, la règle dont le format est le plus spécifique est prioritaire.
Par exemple, les modèles suivants sont classés par ordre de priorité :
https://www.example.com/*https://*.example.com/*(correspondant à example.com et à tous les sous-domaines)<all_urls>(correspondant à toutes les URL)
Trois types de caractères génériques affectent la spécificité d'un modèle :
- Caractères génériques dans le port (par exemple,
https://www.example.com:*/*) - Caractères génériques dans le schéma (par exemple,
*://www.example.com:123/*) - Caractères génériques dans le nom d'hôte (par exemple,
https://*.example.com:123/*)
Si un modèle est plus spécifique qu'un autre dans une partie, mais moins spécifique dans une autre, les différentes parties sont vérifiées dans l'ordre suivant : nom d'hôte, schéma, port. Par exemple, les modèles suivants sont classés par ordre de priorité :
https://www.example.com:*/*Spécifie le nom d'hôte et le schéma.*:/www.example.com:123/*Pas aussi élevé, car même s'il spécifie le nom d'hôte, il ne spécifie pas le schéma.https://*.example.com:123/*Plus faible, car même s'il spécifie le port et le schéma, il comporte un caractère générique dans le nom d'hôte.
Modèles principaux et secondaires
L'URL prise en compte pour déterminer le paramètre de contenu à appliquer dépend du type de contenu.
Par exemple, pour contentSettings.notifications, les paramètres sont basés sur l'URL affichée dans l'omnibox. Cette URL est appelée "URL principale".
Certains types de contenus peuvent prendre en compte des URL supplémentaires. Par exemple, l'autorisation d'un site à définir un contentSettings.cookies est déterminée en fonction de l'URL de la requête HTTP (qui est l'URL principale dans ce cas) ainsi que de l'URL affichée dans l'omnibox (appelée URL "secondaire").
Si plusieurs règles ont des modèles principaux et secondaires, la règle avec le modèle principal le plus spécifique est prioritaire. Si plusieurs règles ont le même format principal, la règle avec le format secondaire le plus spécifique prévaut. Par exemple, la liste suivante de paires de modèles principaux/secondaires est classée par ordre de priorité :
| Priorité | Motif principal | Motif secondaire |
|---|---|---|
| 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> |
Identifiants de ressource
Les identifiants de ressources vous permettent de spécifier des paramètres de contenu pour des sous-types spécifiques d'un type de contenu.
Actuellement, le seul type de contenu compatible avec les identifiants de ressources est contentSettings.plugins, où un identifiant de ressource identifie un plug-in spécifique. Lors de l'application des paramètres de contenu, les paramètres du plug-in spécifique sont d'abord vérifiés. Si aucun paramètre n'est trouvé pour le plug-in spécifique, les paramètres de contenu généraux des plug-ins sont vérifiés.
Par exemple, si une règle de paramètre de contenu comporte l'identifiant de ressource adobe-flash-player et le format <all_urls>, elle est prioritaire sur une règle sans identifiant de ressource et avec le format https://www.example.com/*, même si ce format est plus spécifique.
Vous pouvez obtenir la liste des identifiants de ressources pour un type de contenu en appelant la méthode contentSettings.ContentSetting.getResourceIdentifiers. La liste renvoyée peut changer en fonction de l'ensemble des plug-ins installés sur l'ordinateur de l'utilisateur, mais Chrome essaie de maintenir la stabilité des identifiants lors des mises à jour des plug-ins.
Exemples
Pour essayer cette API, installez l'exemple d'API contentSettings à partir du dépôt chrome-extension-samples.
Types
AutoVerifyContentSetting
Énumération
"allow"
"block"
CameraContentSetting
Énumération
"allow"
"block"
"ask"
ClipboardContentSetting
Énumération
"allow"
"block"
"ask"
ContentSetting
Propriétés
-
effacer
vide
PromiseEffacez toutes les règles de paramètre de contenu définies par cette extension.
La fonction
clearse présente comme suit :(details: object, callback?: function) => {...}
-
détails
objet
-
champ d'application
Scope facultatif
Où effacer le paramètre (par défaut : regular).
-
-
callback
function facultatif
Le paramètre
callbackse présente comme suit :() => void
-
Renvoie
Promise<void>
Chrome 96 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
-
-
get
vide
PromiseRécupère le paramètre de contenu actuel pour une paire d'URL donnée.
La fonction
getse présente comme suit :(details: object, callback?: function) => {...}
-
détails
objet
-
navigation privée
boolean facultatif
Indique si les paramètres de contenu doivent être vérifiés pour une session de navigation privée. (par défaut, "false")
-
primaryUrl
chaîne
URL principale pour laquelle le paramètre de contenu doit être récupéré. Notez que la signification d'une URL principale dépend du type de contenu.
-
resourceIdentifier
ResourceIdentifier facultatif
Identifiant plus spécifique du type de contenu pour lequel les paramètres doivent être récupérés.
-
secondaryUrl
chaîne facultatif
URL secondaire pour laquelle le paramètre de contenu doit être récupéré. La valeur par défaut est l'URL principale. Notez que la signification d'une URL secondaire dépend du type de contenu, et que tous les types de contenus n'utilisent pas d'URL secondaires.
-
-
callback
function facultatif
Le paramètre
callbackse présente comme suit :(details: object) => void
-
détails
objet
-
Paramètre
T
Paramètre de contenu. Consultez la description des objets ContentSetting individuels pour connaître les valeurs possibles.
-
-
-
Renvoie
Promise<object>
Chrome 96 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
-
-
getResourceIdentifiers
vide
PromiseLa fonction
getResourceIdentifiersse présente comme suit :(callback?: function) => {...}
-
callback
function facultatif
Le paramètre
callbackse présente comme suit :(resourceIdentifiers?: ResourceIdentifier[]) => void
-
resourceIdentifiers
ResourceIdentifier[] facultatif
Liste d'identifiants de ressources pour ce type de contenu, ou
undefinedsi ce type de contenu n'utilise pas d'identifiants de ressources.
-
-
Renvoie
Promise<ResourceIdentifier[]>
Chrome 96 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
-
-
set
vide
PromiseApplique une nouvelle règle de paramètre de contenu.
La fonction
setse présente comme suit :(details: object, callback?: function) => {...}
-
détails
objet
-
primaryPattern
chaîne
Modèle de l'URL principale. Pour en savoir plus sur le format d'un modèle, consultez Modèles de paramètres de contenu.
-
resourceIdentifier
ResourceIdentifier facultatif
Identifiant de ressource du type de contenu.
-
champ d'application
Scope facultatif
Emplacement où définir le paramètre (par défaut : standard).
-
secondaryPattern
chaîne facultatif
Modèle de l'URL secondaire. Par défaut, toutes les URL sont mises en correspondance. Pour en savoir plus sur le format d'un modèle, consultez Modèles de paramètres de contenu.
-
Paramètre
tous
Paramètre appliqué par cette règle. Consultez la description des objets ContentSetting individuels pour connaître les valeurs possibles.
-
-
callback
function facultatif
Le paramètre
callbackse présente comme suit :() => void
-
Renvoie
Promise<void>
Chrome 96 ou version ultérieureLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels.
-
CookiesContentSetting
Énumération
"allow"
"block"
"session_only"
FullscreenContentSetting
Valeur
"allow"
ImagesContentSetting
Énumération
"allow"
"block"
JavascriptContentSetting
Énumération
"allow"
"block"
LocationContentSetting
Énumération
"allow"
"block"
"ask"
MicrophoneContentSetting
Énumération
"allow"
"block"
"ask"
MouselockContentSetting
Valeur
"allow"
MultipleAutomaticDownloadsContentSetting
Énumération
"allow"
"block"
"ask"
NotificationsContentSetting
Énumération
"allow"
"block"
"ask"
PluginsContentSetting
Valeur
"block"
PopupsContentSetting
Énumération
"allow"
"block"
PpapiBrokerContentSetting
Valeur
"block"
ResourceIdentifier
Le seul type de contenu utilisant des identifiants de ressources est contentSettings.plugins. Pour en savoir plus, consultez Identifiants de ressources.
Propriétés
-
description
chaîne facultatif
Description lisible par l'humain de la ressource.
-
id
chaîne
Identifiant de ressource pour le type de contenu donné.
Scope
Le champ d'application de ContentSetting. regular : paramètre pour le profil standard (hérité par le profil de navigation privée s'il n'est pas remplacé ailleurs).
incognito\_session\_only : paramètre pour le profil de navigation privée qui ne peut être défini que pendant une session de navigation privée et qui est supprimé à la fin de la session de navigation privée (remplace les paramètres standards).
Énumération
"regular"
"incognito_session_only"
SoundContentSetting
Énumération
"allow"
"block"
Propriétés
automaticDownloads
Indique si les sites sont autorisés à télécharger automatiquement plusieurs fichiers. Une des valeurs suivantes :
allow : autoriser les sites à télécharger automatiquement plusieurs fichiers
block : ne pas autoriser les sites à télécharger automatiquement plusieurs fichiers
ask : demander l'autorisation lorsqu'un site souhaite télécharger automatiquement des fichiers après le premier fichier
La valeur par défaut est ask.
L'URL principale est l'URL du frame de premier niveau. L'URL secondaire n'est pas utilisée.
autoVerify
Indique si les sites sont autorisés à utiliser l'API Private State Tokens. allow : autorise les sites à utiliser l'API Private State Tokens.
block : empêche les sites d'utiliser l'API Private State Tokens.
La valeur par défaut est allow.
Lors de l'appel de set(), le format d'URL principal doit être <all_urls>. L'URL secondaire n'est pas utilisée.
camera
Indique si les sites sont autorisés à accéder à l'appareil photo. allow : autoriser les sites à accéder à l'appareil photo,
block : ne pas autoriser les sites à accéder à l'appareil photo,
ask : demander l'autorisation lorsqu'un site souhaite accéder à l'appareil photo.
La valeur par défaut est ask.
L'URL principale est l'URL du document qui a demandé l'accès à l'appareil photo. L'URL secondaire n'est pas utilisée.
REMARQUE : Le paramètre "allow" n'est pas valide si les deux formats sont "<all_urls>".
clipboard
Indique si les sites sont autorisés à accéder au presse-papiers via les fonctionnalités avancées de l'API Async Clipboard. Les fonctionnalités "avancées" incluent tout ce qui n'est pas l'écriture de formats intégrés après un geste de l'utilisateur, c'est-à-dire la possibilité de lire, d'écrire des formats personnalisés et d'écrire sans geste de l'utilisateur. allow : autoriser les sites à utiliser les fonctionnalités avancées du presse-papiers,
block : ne pas autoriser les sites à utiliser les fonctionnalités avancées du presse-papiers,
ask : demander lorsqu'un site souhaite utiliser les fonctionnalités avancées du presse-papiers.
La valeur par défaut est ask.
L'URL principale est l'URL du document qui a demandé l'accès au presse-papiers. L'URL secondaire n'est pas utilisée.
cookies
Indique si les sites Web sont autorisés à définir des cookies et d'autres données locales. L'une des valeurs suivantes :
allow : accepter les cookies,
block : bloquer les cookies,
session\_only : accepter les cookies uniquement pour la session en cours.
La valeur par défaut est allow.
L'URL principale est l'URL représentant l'origine du cookie. L'URL secondaire est l'URL du frame de premier niveau.
fullscreen
Obsolète. N'a plus aucun effet. L'autorisation d'affichage en plein écran est désormais accordée automatiquement pour tous les sites. La valeur est toujours allow.
images
Indique si les images doivent être affichées. allow : afficher les images,
block : ne pas afficher les images.
La valeur par défaut est allow.
L'URL principale est l'URL du frame de premier niveau. L'URL secondaire est l'URL de l'image.
javascript
Indique si JavaScript doit être exécuté. allow : exécuter JavaScript, block : ne pas exécuter JavaScript.
La valeur par défaut est allow.
L'URL principale est l'URL du frame de premier niveau. L'URL secondaire n'est pas utilisée.
location
Indique si la géolocalisation est autorisée. Une des valeurs suivantes :
allow : autoriser les sites à suivre votre position géographique
block : ne pas autoriser les sites à suivre votre position géographique
ask : demander avant d'autoriser les sites à suivre votre position géographique
La valeur par défaut est ask.
L'URL principale est l'URL du document qui a demandé les données de localisation. L'URL secondaire est l'URL du frame de niveau supérieur (qui peut être différente ou non de l'URL de la requête).
microphone
Indique si les sites sont autorisés à accéder au micro. Une des valeurs suivantes :
allow : autoriser les sites à accéder au micro
block : ne pas autoriser les sites à accéder au micro
ask : demander l'autorisation lorsqu'un site souhaite accéder au micro
La valeur par défaut est ask.
L'URL principale est l'URL du document qui a demandé l'accès au micro. L'URL secondaire n'est pas utilisée.
REMARQUE : Le paramètre "allow" n'est pas valide si les deux formats sont "<all_urls>".
mouselock
Obsolète. N'a plus aucun effet. L'autorisation de verrouillage de la souris est désormais accordée automatiquement pour tous les sites. La valeur est toujours allow.
notifications
Indique si les sites sont autorisés à afficher des notifications sur le bureau. Une des valeurs suivantes :
allow : autoriser les sites à afficher des notifications sur le bureau
block : ne pas autoriser les sites à afficher des notifications sur le bureau
ask : demander l'autorisation lorsqu'un site souhaite afficher des notifications sur le bureau
La valeur par défaut est ask.
L'URL principale est l'URL du document qui souhaite afficher la notification. L'URL secondaire n'est pas utilisée.
plugins
Obsolète. La compatibilité avec Flash ayant été supprimée dans Chrome 88, cette autorisation n'a plus d'effet. La valeur est toujours block. Les appels à set() et clear() seront ignorés.
popups
Indique si les sites sont autorisés à afficher des pop-ups. allow : autoriser les sites à afficher des pop-up,
block : interdire aux sites d'afficher des pop-up.
La valeur par défaut est block.
L'URL principale est l'URL du frame de premier niveau. L'URL secondaire n'est pas utilisée.
unsandboxedPlugins
Obsolète. Auparavant, ce paramètre permettait d'autoriser ou non les sites à exécuter des plug-ins sans bac à sable. Toutefois, le processus de l'agent Flash ayant été supprimé dans Chrome 88, cette autorisation n'a plus d'effet. La valeur est toujours block. Les appels à set() et clear() seront ignorés.