Description
L'API chrome.types contient des déclarations de type pour Chrome.
Paramètres de Google Chrome
Le prototype 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 :
- regularLes paramètres
-  définis dans le champ d'application regulars'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_persistentLes paramètres
-  définis dans le champ d'application incognito_persistentne 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_onlyLes paramètres
-  définis dans le champ d'application incognito_session_onlyne s'appliquent qu'aux fenêtres de navigation privée. Pour ces paramètres, ils remplacent les paramètresregularetincognito_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é ci-dessus, Chrome permet d'utiliser différents paramètres 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
- 
    onChangeEvent<functionvoidvoid> Déclenché après la modification du paramètre. La fonction onChange.addListenerse présente comme suit :(callback: function) => {...} - 
    callbackfonction Le paramètre callbackse présente comme suit :(details: object) => void - 
    détailsobjet - 
    incognitoSpecificboolé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. 
- 
    levelOfControlNiveau de contrôle du paramètre. 
- 
    valeurT Valeur du paramètre après la modification. 
 
- 
    
 
- 
    
 
- 
    
- 
    effacervide PromiseEfface le paramètre et rétablit la valeur par défaut. La fonction clearse présente comme suit :(details: object, callback?: function) => {...} - 
    détailsobjet Paramètre à effacer. - 
    champ d'applicationChromeSettingScope facultatif Où effacer le paramètre (par défaut : normal). 
 
- 
    
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :() => void 
 - 
            RenvoiePromise<void> Chrome 96 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels. 
 
- 
    
- 
    getvide PromiseRécupère la valeur d'un paramètre. La fonction getse présente comme suit :(details: object, callback?: function) => {...} - 
    détailsobjet Paramètre à prendre en compte. - 
    navigation privéebooléen facultatif Indique s'il faut renvoyer la valeur qui s'applique à la session de navigation privée (valeur par défaut : false). 
 
- 
    
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :(details: object) => void - 
    détailsobjet Détails de la valeur actuellement en vigueur. - 
    incognitoSpecificbooléen facultatif Indique si la valeur effective est spécifique à la session de navigation privée. Cette propriété ne sera présente que si la propriété incognitodu paramètredetailsdeget()était définie sur "true".
- 
    levelOfControlNiveau de contrôle du paramètre. 
- 
    valeurT Valeur du paramètre. 
 
- 
    
 
- 
    
 - 
            RenvoiePromise<object> Chrome 96 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels. 
 
- 
    
- 
    setvide PromiseDéfinit la valeur d'un paramètre. La fonction setse présente comme suit :(details: object, callback?: function) => {...} - 
    détailsobjet Paramètre à modifier. - 
    champ d'applicationChromeSettingScope facultatif Où définir le paramètre (par défaut : normal). 
- 
    valeurT 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. 
 
- 
    
- 
    callbackfunction facultatif Le paramètre callbackse présente comme suit :() => void 
 - 
            RenvoiePromise<void> Chrome 96 et versions ultérieuresLes promesses ne sont compatibles qu'avec Manifest V3 et les versions ultérieures. Les autres plates-formes doivent utiliser des rappels. 
 
- 
    
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 extension
- controlled\_by\_other\_extensions: contrôlé par les extensions ayant une priorité plus élevée
- controllable\_by\_this\_extension: peut être contrôlé par cette extension
- controlled\_by\_this\_extension: contrôlé par cette extension
Énumération
"not_controllable" 
 
"controlled_by_other_extensions" 
 
"controllable_by_this_extension" 
 
"controlled_by_this_extension"