Descripción
La API de chrome.types
contiene declaraciones de tipos 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 tres tipos diferentes de parámetros de configuración del navegador:
regular
- Los parámetros de configuración establecidos en el alcance de
regular
se aplican a las ventanas normales del navegador y las heredan las ventanas de incógnito si no se reemplazan. Estos parámetros de configuración se almacenan en el disco y permanecen vigentes hasta que la extensión principal los borra o se inhabilita o desinstala la extensión principal. incognito_persistent
- Los parámetros de configuración establecidos en el alcance de
incognito_persistent
solo 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 vigentes hasta que la extensión principal los borra o hasta que se inhabilita o desinstala la extensión principal. incognito_session_only
- Los parámetros de configuración establecidos en el alcance de
incognito_session_only
solo se aplican a las ventanas de incógnito. En estos casos, se anulan los parámetros de configuración deregular
yincognito_persistent
. Estos parámetros de configuración no se almacenan en el disco y se borran cuando se cierra la última ventana de incógnito. Solo se pueden configurar 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 creciente de prioridad.
- Configuración del sistema proporcionada por el sistema operativo
- Parámetros de la línea de comandos
- Configuración proporcionada por extensiones
- Políticas
Como lo indica la lista, es posible que las políticas anulen cualquier cambio que especifiques con tu extensión. Luego, puedes usar la función get()
para determinar si tu extensión puede proporcionar un parámetro de configuración o si este parámetro se anularía.
Como se mencionó anteriormente, Chrome permite usar diferentes parámetros de configuración para las ventanas normales y las ventanas de incógnito. En el siguiente ejemplo, se ilustra el comportamiento. Supón que ninguna política anula la configuración y que una extensión puede establecer parámetros de configuración para ventanas normales (N) y para ventanas de incógnito (I).
- Si solo se establece (R), estos parámetros de configuración son válidos para las ventanas normales y de incógnito.
- Si solo se establece (I), estos parámetros de configuración solo se aplicarán a las ventanas de incógnito. Las ventanas normales usan la configuración determinada por las capas inferiores (opciones de línea de comandos y configuración del sistema).
- Si se configuran (R) y (I), se usarán 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 en valores diferentes, la extensión instalada más recientemente tendrá prioridad sobre las demás. Si la extensión instalada más recientemente solo establece (I), las extensiones instaladas anteriormente pueden definir la configuración de las ventanas normales.
El valor vigente 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.addListener
se ve de la siguiente manera:(callback: function) => {...}
-
callback
función
El parámetro
callback
se 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 de 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
clear
se ve de la siguiente manera:(details: object) => {...}
-
detalles
objeto
Parámetro de configuración que se borrará.
-
alcance
ChromeSettingScope opcional
Dónde borrar el parámetro de configuración (el valor predeterminado es regular).
-
-
returns
Promise<void>
Chrome 96 y versiones posteriores
-
-
get
void
Obtiene el valor de un parámetro de configuración.
La función
get
se ve de la siguiente manera:(details: object) => {...}
-
detalles
objeto
Es el parámetro de configuración que se debe tener en cuenta.
-
Incógnito
booleano opcional
Indica si se debe devolver el valor que se aplica a la sesión de incógnito (el valor predeterminado es falso).
-
-
returns
Promise<object>
Chrome 96 y versiones posteriores
-
-
set
void
Establece el valor de un parámetro de configuración.
La función
set
se ve de la siguiente manera:(details: object) => {...}
-
detalles
objeto
Parámetro de configuración que se 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.
-
-
returns
Promise<void>
Chrome 96 y versiones posteriores
-
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
: Configuración solo para el perfil normal (no se hereda en el perfil de incógnito)incognito\_persistent
: Es el parámetro de configuración del perfil de incógnito que se mantiene después de reiniciar el navegador (anula las preferencias normales).incognito\_session\_only
: Es un parámetro de configuración del perfil de Incógnito que solo se puede establecer durante una sesión de Incógnito y se borra cuando finaliza la sesión de Incógnito (anula las preferencias normales y las de incognito_persistent).
Enum
"regular"
"regular_only"
"incognito_persistent"
"incognito_session_only"
LevelOfControl
Uno de
not\_controllable
: No se puede controlar con ninguna extensióncontrolled\_by\_other\_extensions
: Controlado por extensiones con mayor prioridadcontrollable\_by\_this\_extension
: Se puede controlar con esta extensión.controlled\_by\_this\_extension
: Controlado por esta extensión
Enum
"not_controllable"
"controlled_by_other_extensions"
"controllable_by_this_extension"
"controlled_by_this_extension"