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 censées être utilisées.
Champ d'application et cycle de vie
Chrome distingue trois niveaux de paramètres de navigateur :
regular
Les paramètres - définis dans le champ d'application
regular
s'appliquent aux fenêtres de navigateur normales et sont hérités par les fenêtres de navigation privée s'ils ne sont pas remplacés. Ces paramètres sont stockés sur le disque et restent en place jusqu'à ce qu'ils soient effacés par l'extension responsable, ou que l'extension responsable 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, ils 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 responsable, ou que l'extension responsable 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. Pour ces paramètres, 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. Ils ne peuvent être définis 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 qui peuvent 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 son nom l'indique, les règles peuvent remplacer les modifications que vous spécifiez avec votre extension. Vous pouvez utiliser la fonction get()
pour déterminer si votre extension est en mesure de fournir un paramètre ou si ce paramètre serait remplacé.
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 peut définir des paramètres pour les fenêtres standards (R) et pour les fenêtres de navigation privée (I).
- Si seul (R) est défini, ces paramètres sont effectifs pour les fenêtres standards et de navigation privée.
- Si seul (I) est défini, ces paramètres ne sont effectifs que pour les 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 les paramètres (R) et (I) sont définis, les paramètres respectifs sont utilisés pour les fenêtres normales et de navigation privée.
Si plusieurs extensions souhaitent définir le même paramètre sur des valeurs différentes, l'extension installée le plus récemment est prioritaire sur les autres extensions. Si l'extension installée le plus récemment ne définit que (I), les paramètres des fenêtres standards peuvent être définis par les extensions installées précédemment.
La valeur effective d'un paramètre est celle qui résulte de l'application des règles de priorité. Il est utilisé par Chrome.
Types
ChromeSetting
Interface permettant d'accéder à un paramètre du navigateur Chrome. Pour consulter un exemple, voir accessibilityFeatures
.
Propriétés
-
onChange
Event<functionvoidvoid>
Déclenché après la modification du paramètre.
La fonction
onChange.addListener
se présente comme suit :(callback: function) => {...}
-
callback
fonction
Le paramètre
callback
se présente comme suit :(details: object) => void
-
détails
objet
-
incognitoSpecific
booléen facultatif
Indique si la valeur qui a changé est spécifique à la session de navigation privée. Cette propriété n'est présente que 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
vide
Efface le paramètre et rétablit la valeur par défaut.
La fonction
clear
se présente comme suit :(details: object) => {...}
-
détails
objet
Paramètre à effacer.
-
champ d'application
ChromeSettingScope facultatif
Où effacer le paramètre (par défaut : normal).
-
-
Renvoie
Promise<void>
Chrome 96 et versions ultérieures
-
-
get
vide
Récupère la valeur d'un paramètre.
La fonction
get
se présente comme suit :(details: object) => {...}
-
détails
objet
Paramètre à prendre en compte.
-
navigation privée
booléen facultatif
Indique s'il faut renvoyer la valeur qui s'applique à la session de navigation privée (valeur par défaut : false).
-
-
Renvoie
Promise<object>
Chrome 96 et versions ultérieures
-
-
set
vide
Définit la valeur d'un paramètre.
La fonction
set
se présente comme suit :(details: object) => {...}
-
détails
objet
Paramètre à modifier.
-
champ d'application
ChromeSettingScope facultatif
Où définir le paramètre (par défaut : normal).
-
valeur
T
Valeur du paramètre. Notez que chaque paramètre possède un type de valeur spécifique, qui est décrit avec le paramètre. Une extension ne doit pas définir une valeur d'un autre type.
-
-
Renvoie
Promise<void>
Chrome 96 et versions ultérieures
-
ChromeSettingScope
Champ d'application de ChromeSetting. Une
regular
: paramètre du profil normal (qui est hérité par le profil de navigation privée s'il n'est pas remplacé ailleurs)regular\_only
: paramètre pour le profil normal uniquement (non hérité par le profil de navigation privée)incognito\_persistent
: paramètre du profil de navigation privée qui persiste après le redémarrage du navigateur (remplace les préférences habituelles).incognito\_session\_only
: paramètre du 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 préférences normales et incognito_persistent).
Énumération
"regular"
"regular_only"
"incognito_persistent"
"incognito_session_only"
LevelOfControl
Une
not\_controllable
: ne peut être contrôlé par aucune extensioncontrolled\_by\_other\_extensions
: contrôlé par les extensions ayant une priorité plus élevéecontrollable\_by\_this\_extension
: peut être contrôlé par cette extensioncontrolled\_by\_this\_extension
: contrôlé par cette extension
Énumération
"not_controllable"
"controlled_by_other_extensions"
"controllable_by_this_extension"
"controlled_by_this_extension"