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. Los ejemplos de configuración de proxy demuestran cómo se usan estas funciones.
Alcance y ciclo de vida
Chrome distingue tres alcances diferentes de la configuración del navegador:
regular
- La configuración establecida en el alcance
regular
se aplica a las ventanas normales del navegador y se heredan en las ventanas de incógnito si no se reemplazan. Esta configuración se almacena en el disco y se mantiene hasta que la borra la extensión que la administra o hasta que se inhabilita o desinstala la extensión aplicable. incognito_persistent
- La configuración establecida en el alcance de
incognito_persistent
solo se aplica a las ventanas de incógnito. Estas anulan la configuración deregular
. Esta configuración se almacena en el disco y permanece vigente hasta que la borra la extensión que la administra o hasta que se inhabilita o desinstala la extensión aplicable. incognito_session_only
- La configuración establecida en el alcance de
incognito_session_only
solo se aplica a las ventanas de incógnito. Para estos, anulan la configuración deregular
yincognito_persistent
. Esta configuración no se almacena en el disco y se borra cuando se cierra la última ventana de incógnito. Solo pueden configurarse cuando al menos una ventana de incógnito está abierta.
Prioridad
Chrome administra la configuración de diferentes capas. En la siguiente lista, se describen las capas que pueden influir en la configuración efectiva, en orden de prioridad creciente.
- La configuración del sistema que proporciona el sistema operativo
- Parámetros de la línea de comandos
- Configuración proporcionada por extensiones
- Políticas
Como lo indica 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 una configuración
o si esta se anulará.
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. 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 de las ventanas de incógnito (I).
- Si solo se establece (R), esta configuración se aplicará tanto a las ventanas normales como a las de incógnito.
- Si solo estableces (I), esta configuración solo será válida para las ventanas de incógnito. Las ventanas regulares usan la configuración determinada por las capas inferiores (opciones de la línea de comandos y configuración del sistema).
- Si tanto (R) como (I) están configurados, se utilizará la configuración respectiva para las ventanas normales y de incógnito.
Si dos o más extensiones desean establecer la misma configuración con valores diferentes, la última extensión instalada más recientemente tiene prioridad sobre las otras extensiones. Si la última extensión instalada solo se establece en (I), la configuración de las ventanas normales se puede definir con las extensiones instaladas previamente.
El valor efectivo de un parámetro de configuración es el que se genera al considerar las reglas de prioridad. Lo usa Chrome.
Tipos
ChromeSetting
Una interfaz que permite acceder a un parámetro de configuración del navegador Chrome. Consulta accessibilityFeatures
para ver un ejemplo.
Propiedades
-
onChange
Evento<functionvoidvoid>
Se activa después de que cambia la configuración.
La función
onChange.addListener
se ve de la siguiente manera:(callback: function) => {...}
-
callback
la función
El parámetro
callback
se ve de la siguiente manera:(details: object) => void
-
detalles
objeto
-
incognitoSpecific
booleano opcional
Si el valor que se modificó 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
El nivel de control de la configuración.
-
value
T
El valor del parámetro de configuración después del cambio.
-
-
-
-
borrar
void
PromesaSe borra el parámetro de configuración y se restablecen los valores predeterminados.
La función
clear
se ve de la siguiente manera:(details: object, callback?: function) => {...}
-
detalles
objeto
Qué parámetro de configuración borrar.
-
permiso
ChromeSettingScope opcional
Dónde borrar la configuración (configuración predeterminada: regular)
-
-
callback
Función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
-
resultados
Promise<void>
Chrome 96 y versiones posterioresLas promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
-
-
get
void
PromesaObtiene el valor de un parámetro de configuración.
La función
get
se ve de la siguiente manera:(details: object, callback?: function) => {...}
-
detalles
objeto
Qué parámetro de configuración debes considerar.
-
incógnito
booleano opcional
Indica si se debe mostrar el valor que se aplica a la sesión de incógnito (predeterminado en falso).
-
-
callback
Función opcional
El parámetro
callback
se ve de la siguiente manera:(details: object) => void
-
detalles
objeto
Detalles del valor vigente en este momento.
-
incognitoSpecific
booleano opcional
Si el valor efectivo es específico para la sesión en modo Incógnito Esta propiedad solo estará presente si la propiedad
incognito
en el parámetrodetails
deget()
era verdadera. -
levelOfControl
El nivel de control de la configuración.
-
value
T
Es el valor del parámetro de configuración.
-
-
-
resultados
Promise<object>
Chrome 96 y versiones posterioresLas promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
-
-
set
void
PromesaEstablece el valor de un parámetro de configuración.
La función
set
se ve de la siguiente manera:(details: object, callback?: function) => {...}
-
detalles
objeto
Qué parámetro de configuración cambiar.
-
permiso
ChromeSettingScope opcional
Dónde establecer la configuración (configuración predeterminada: regular)
-
value
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.
-
-
callback
Función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
-
resultados
Promise<void>
Chrome 96 y versiones posterioresLas promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
-
ChromeSettingScope
El alcance de la configuración de Chrome. 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
: Es el parámetro de configuración solo para el perfil normal (no heredado por el perfil de incógnito).incognito\_persistent
: Configuración del perfil de incógnito que se conserva después de los reinicios del navegador (anula las preferencias habituales).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 esta finaliza (se anulan las preferencias normales y de incógnito_persistent).
Enum
"regular"
"regular_only":
LevelOfControl
Uno de
not\_controllable
: No se puede controlar con ninguna extensióncontrolled\_by\_other\_extensions
: Se controla mediante extensiones con mayor prioridadcontrollable\_by\_this\_extension
: Se puede controlar con esta extensióncontrolled\_by\_this\_extension
: controlado por esta extensión
Enum
"not_controllable":
"controllable_by_this_extension"
"controlled_by_this_extension"