Description
L'API chrome.types
contient des déclarations de type pour Chrome.
Paramètres de Google Chrome
Le type ChromeSetting
fournit un ensemble commun de fonctions (get()
, set()
et clear()
) ainsi qu'un éditeur d'événements (onChange
) pour les paramètres du navigateur Chrome. Les exemples de paramètres de proxy montrent comment ces fonctions sont destinées à être utilisées.
Champ d'application et cycle de vie
Chrome distingue trois types de paramètres du navigateur:
regular
- Les paramètres définis dans le champ d'application
regular
s'appliquent aux fenêtres de navigateur standards et sont hérités par les fenêtres de navigation privée s'ils ne sont pas écrasés. Ces paramètres sont stockés sur le disque et le restent jusqu'à ce qu'ils soient effacés par l'extension applicable, ou que l'extension applicable soit désactivée ou désinstallée. incognito_persistent
- Les paramètres définis dans le champ d'application
incognito_persistent
ne s'appliquent qu'aux fenêtres de navigation privée. Dans ce cas, elles remplacent les paramètresregular
. Ces paramètres sont stockés sur le disque et restent en place jusqu'à ce qu'ils soient effacés par l'extension applicable, ou jusqu'à ce que cette dernière soit désactivée ou désinstallée. incognito_session_only
- Les paramètres définis dans le champ d'application
incognito_session_only
ne s'appliquent qu'aux fenêtres de navigation privée. Dans ce cas, ils remplacent les paramètresregular
etincognito_persistent
. Ces paramètres ne sont pas stockés sur le disque et sont effacés lorsque la dernière fenêtre de navigation privée est fermée. Elles ne peuvent être configurées que lorsqu'au moins une fenêtre de navigation privée est ouverte.
Priorité
Chrome gère les paramètres sur différentes couches. La liste suivante décrit les couches pouvant influencer les paramètres effectifs, par ordre de priorité croissant.
- Paramètres système fournis par le système d'exploitation
- Paramètres de ligne de commande
- Paramètres fournis par les extensions
- Règles
Comme l'indique la liste, les règles peuvent annuler les modifications que vous spécifiez avec votre extension. Vous pouvez utiliser la fonction get()
pour déterminer si votre extension peut fournir un paramètre ou si ce paramètre doit être ignoré.
Comme indiqué précédemment, Chrome permet d'utiliser des paramètres différents pour les fenêtres standards et les fenêtres de navigation privée. L'exemple suivant illustre ce comportement. Supposons qu'aucune règle ne remplace les paramètres et qu'une extension puisse définir les paramètres des fenêtres standards (R) et ceux des fenêtres de navigation privée (I).
- Si seul (R) est défini, ces paramètres s'appliquent aux fenêtres de navigation standard et de navigation privée.
- Si seule la réponse (I) est définie, ces paramètres s'appliquent uniquement aux fenêtres de navigation privée. Les fenêtres standards utilisent les paramètres déterminés par les couches inférieures (options de ligne de commande et paramètres système).
- Si (R) et (I) sont tous les deux définis, les paramètres respectifs sont utilisés pour les fenêtres de navigation standard et de navigation privée.
Si deux extensions ou plus souhaitent définir le même paramètre sur des valeurs différentes, la dernière extension installée est prioritaire sur les autres extensions. Si la dernière extension installée ne définit que (I), les paramètres des fenêtres standards peuvent être définis par les extensions précédemment installées.
La valeur effective d'un paramètre est celle qui résulte de la prise en compte des règles de priorité. Il est utilisé par Chrome.
Types
ChromeSetting
Interface permettant d'accéder à un paramètre du navigateur Chrome. Consultez accessibilityFeatures
pour obtenir un exemple.
Propriétés
-
onChange
Événement<functionvoidvoid>
Déclenché après la modification du paramètre
La fonction
onChange.addListener
se présente comme suit :(callback: function) => {...}
-
rappel
function
Le paramètre
callback
se présente comme suit :(details: object) => void
-
détails
objet
-
incognitoSpecific
Booléen facultatif
Indique si la valeur modifiée est spécifique à la session de navigation privée. Cette propriété est visible uniquement si l'utilisateur a activé l'extension en mode navigation privée.
-
levelOfControl
Niveau de contrôle du paramètre.
-
valeur
T
Valeur du paramètre après la modification.
-
-
-
-
effacer
void
PromesseEfface le paramètre et rétablit la valeur par défaut.
La fonction
clear
se présente comme suit :(details: object, callback?: function) => {...}
-
détails
objet
Paramètre à effacer.
-
champ d'application
ChromeSettingScope facultatif
Où effacer ce paramètre (par défaut: standard) ?
-
-
rappel
fonction facultative
Le paramètre
callback
se présente comme suit :() => void
-
retours
Promise<void>
Chrome 96 et versions ultérieuresLes promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.
-
-
get
void
PromesseRécupère la valeur d'un paramètre.
La fonction
get
se présente comme suit :(details: object, callback?: function) => {...}
-
détails
objet
Paramètre à prendre en compte.
-
navigation privée
Booléen facultatif
Indique si la valeur qui s'applique à la session de navigation privée doit être renvoyée (valeur par défaut, "false").
-
-
rappel
fonction facultative
Le paramètre
callback
se présente comme suit :(details: object) => void
-
détails
objet
Détails de la valeur actuellement en vigueur.
-
incognitoSpecific
Booléen facultatif
Indique si la valeur effective est spécifique à la session de navigation privée. Cette propriété est présente uniquement si la propriété
incognito
du paramètredetails
deget()
est "true". -
levelOfControl
Niveau de contrôle du paramètre.
-
valeur
T
Valeur du paramètre.
-
-
-
retours
Promise<object>
Chrome 96 et versions ultérieuresLes promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.
-
-
set
void
PromesseDéfinit la valeur d'un paramètre.
La fonction
set
se présente comme suit :(details: object, callback?: function) => {...}
-
détails
objet
Paramètre à modifier.
-
champ d'application
ChromeSettingScope facultatif
Où définir le paramètre (par défaut: standard).
-
valeur
T
Valeur du paramètre. Notez que chaque paramètre est associé à un type de valeur spécifique, décrit avec le paramètre. Une extension ne doit pas définir une valeur d'un type différent.
-
-
rappel
fonction facultative
Le paramètre
callback
se présente comme suit :() => void
-
retours
Promise<void>
Chrome 96 et versions ultérieuresLes promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.
-
ChromeSettingScope
Champ d'application du paramètre ChromeSetting. Une
regular
: paramètre du profil standard (hérité par le profil de navigation privée s'il n'est pas remplacé ailleurs).regular\_only
: paramètre du profil standard uniquement (pas hérité par le profil de navigation privée)incognito\_persistent
: paramètre du profil de navigation privée qui survit au redémarrage du navigateur (ignorer les préférences standards)incognito\_session\_only
: paramètre du profil de navigation privée qui ne peut être défini qu'au cours d'une session de navigation privée et qui est supprimé à la fin de la session de navigation privée. Il remplace les préférences standards et persistantes de navigation privée.
Enum
"regular_only"
"incognito_persistent"
"incognito_session_only"
LevelOfControl
Une
not\_controllable
: ne peut être contrôlé par aucune extensioncontrolled\_by\_other\_extensions
: contrôlée par des extensions de priorité plus élevée.controllable\_by\_this\_extension
: peut être contrôlé par cette extensioncontrolled\_by\_this\_extension
: contrôlé par cette extension
Enum
"not_controllable"
"controllable_by_this_extension"