Descripción
La API de chrome.types contiene declaraciones de tipo para Chrome.
Configuración de Chrome
El tipo ChromeSetting proporciona un conjunto común de funciones (get(), set() y clear()), así como un publicador de eventos (onChange) para la configuración del navegador Chrome. En los ejemplos de configuración de proxy, se muestra cómo se deben usar estas funciones.
Alcance y ciclo de vida
Chrome distingue entre tres alcances diferentes de la configuración del navegador:
regular- Los parámetros de configuración establecidos en el alcance
regularse aplican a las ventanas normales del navegador y se heredan en las ventanas de incógnito si no se reemplazan. Estos parámetros de configuración se almacenan en el disco y permanecen allí hasta que la extensión que los controla los borra, o bien hasta que se inhabilita o desinstala esa extensión. incognito_persistent- Los parámetros de configuración establecidos en el alcance
incognito_persistentsolo se aplican a las ventanas de incógnito. En estos casos, anulan la configuración deregular. Estos parámetros de configuración se almacenan en el disco y permanecen allí hasta que la extensión que los controla los borra, o bien hasta que se inhabilita o desinstala esa extensión. incognito_session_only- Los parámetros de configuración establecidos en el alcance
incognito_session_onlysolo se aplican a las ventanas de incógnito. En estos casos, anulan la configuración deregularyincognito_persistent. Esta configuración no se almacena en el disco y se borra cuando se cierra la última ventana de incógnito. Solo se pueden establecer cuando hay al menos una ventana de incógnito abierta.
Prioridad
Chrome administra la configuración en diferentes capas. En la siguiente lista, se describen las capas que pueden influir en la configuración efectiva, en orden de prioridad creciente.
- Parámetros de configuración del sistema que proporciona el sistema operativo
- Parámetros de la línea de comandos
- Configuración proporcionada por las extensiones
- Políticas
Como se indica en la lista, las políticas pueden anular cualquier cambio que especifiques con tu extensión. Puedes
usar la función get() para determinar si tu extensión puede proporcionar un parámetro de configuración
o si este se anularía.
Como se mencionó anteriormente, Chrome permite usar diferentes parámetros de configuración para las ventanas normales y las de incógnito. En el siguiente ejemplo, se ilustra el comportamiento. Supongamos que ninguna política anula la configuración y que una extensión puede establecer la configuración de las ventanas normales (R) y la configuración de las ventanas de incógnito (I).
- Si solo se establece (R), estos parámetros de configuración se aplican tanto a las ventanas normales como a las ventanas de incógnito.
- Si solo se establece (I), estos parámetros de configuración solo se aplican a las ventanas de incógnito. Las ventanas normales usan la configuración que determinan las capas inferiores (opciones de línea de comandos y configuración del sistema).
- Si se configuran (R) e (I), se usan los parámetros de configuración respectivos para las ventanas normales y de incógnito.
Si dos o más extensiones quieren establecer el mismo parámetro de configuración con valores diferentes, la extensión instalada más recientemente tiene prioridad sobre las demás. Si la extensión instalada más recientemente solo establece (I), la configuración de las ventanas normales se puede definir con las extensiones instaladas anteriormente.
El valor efectivo de un parámetro de configuración es el que resulta de considerar las reglas de prioridad. Chrome lo usa.
Tipos
ChromeSetting
Es una interfaz que permite acceder a un parámetro de configuración del navegador Chrome. Consulta accessibilityFeatures para ver un ejemplo.
Propiedades
-
onChange
Event<functionvoidvoid>
Se activa después de que cambia el parámetro de configuración.
La función
onChange.addListenerse ve de la siguiente manera:(callback: function) => {...}
-
callback
función
El parámetro
callbackse ve de la siguiente manera:(details: object) => void
-
detalles
objeto
-
incognitoSpecific
booleano opcional
Indica si el valor que cambió es específico de la sesión en modo Incógnito. Esta propiedad solo estará presente si el usuario habilitó la extensión en el modo Incógnito.
-
levelOfControl
Es el nivel de control del parámetro de configuración.
-
valor
T
Es el valor del parámetro de configuración después del cambio.
-
-
-
-
borrar
void
Borra el parámetro de configuración y restablece cualquier valor predeterminado.
La función
clearse ve de la siguiente manera:(details: object) => {...}
-
detalles
objeto
Es el parámetro de configuración que se borrará.
-
alcance
ChromeSettingScope opcional
Dónde borrar el parámetro de configuración (predeterminado: regular).
-
-
muestra
Promise<void>
Chrome 96 y versiones posteriores browser.* desde Chrome 148Se llama cuando se completa la operación de borrado.
-
-
get
void
Obtiene el valor de un parámetro de configuración.
La función
getse ve de la siguiente manera:(details: object) => {...}
-
detalles
objeto
Qué parámetro de configuración se debe considerar
-
incognito
booleano opcional
Indica si se debe devolver el valor que se aplica a la sesión en modo Incógnito (el valor predeterminado es falso).
-
-
muestra
Promise<object>
Chrome 96 y versiones posteriores browser.* desde Chrome 148
-
-
set
void
Establece el valor de un parámetro de configuración.
La función
setse ve de la siguiente manera:(details: object) => {...}
-
detalles
objeto
Qué parámetro de configuración se debe cambiar
-
alcance
ChromeSettingScope opcional
Dónde establecer el parámetro de configuración (predeterminado: regular).
-
valor
T
Es el valor del parámetro de configuración. Ten en cuenta que cada parámetro de configuración tiene un tipo de valor específico, que se describe junto con el parámetro. Una extensión no debe establecer un valor de un tipo diferente.
-
-
muestra
Promise<void>
Chrome 96 y versiones posteriores browser.* desde Chrome 148Se llama cuando se completa la operación de configuración.
-
ChromeSettingScope
Es el alcance de ChromeSetting. Uno de
regular: Es el parámetro de configuración del perfil normal (que hereda el perfil de incógnito si no se anula en otro lugar).regular\_only: parámetro de configuración solo para el perfil normal (no lo hereda el perfil de incógnito)incognito\_persistent: parámetro de configuración para el perfil de incógnito que se mantiene después de reiniciar el navegador (anula las preferencias normales)incognito\_session\_only: Es el parámetro de configuración del perfil de incógnito que solo se puede establecer durante una sesión en modo Incógnito y se borra cuando finaliza (anula las preferencias regular e incognito_persistent).
Enum
"regular"
"regular_only"
"incognito_persistent"
"incognito_session_only"
LevelOfControl
Uno de
not\_controllable: No se puede controlar con ninguna extensión.controlled\_by\_other\_extensions: controlado por extensiones con mayor prioridadcontrollable\_by\_this\_extension: puede controlarse con esta extensióncontrolled\_by\_this\_extension: controlado por esta extensión
Enum
"not_controllable"
"controlled_by_other_extensions"
"controllable_by_this_extension"
"controlled_by_this_extension"