Descripción
La API de chrome.types
contiene declaraciones de tipo para Chrome.
Configuración de Chrome
El prototipo ChromeSetting
proporciona un conjunto común de funciones (get()
, set()
y clear()
).
y un publicador del evento (onChange
) para la configuración del navegador Chrome. La configuración del proxy
con los ejemplos, se demuestra cómo se planea el uso de estas funciones.
Alcance y ciclo de vida
Chrome distingue entre tres alcances diferentes de la configuración del navegador:
regular
- La configuración establecida en el permiso
regular
se aplica a las ventanas normales del navegador y la hereda el modo Incógnito ventanas si no se reemplazan. Esta configuración se almacena en el disco y permanece vigente hasta que se hayan borrado por la extensión aplicable, o bien se inhabilite o desinstale la extensión aplicable. incognito_persistent
- La configuración establecida en el permiso
incognito_persistent
solo se aplica a las ventanas de incógnito. En estos casos, anular la configuración deregular
. Esta configuración se almacena en el disco y permanece en su lugar hasta que se la extensión que lo rige o que esta se inhabilite o desinstale. incognito_session_only
- La configuración establecida en el permiso
incognito_session_only
solo se aplica a las ventanas de incógnito. En estos casos, anular la configuración deregular
yincognito_persistent
. Esta configuración no se almacena en el disco y se borran cuando se cierra la última ventana de incógnito. Solo se pueden configurar cuando al menos una ventana de incógnito.
Prioridad
Chrome administra la configuración en diferentes capas. La siguiente lista describe las capas que pueden influir en la configuración efectiva, en orden ascendente de precedencia.
- 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. Tú
Puedes usar la función get()
para determinar si tu extensión puede proporcionar una configuración
o si se anula este parámetro de configuración.
Como se mencionó anteriormente, Chrome permite usar diferentes parámetros de configuración para las ventanas normales y de incógnito o períodos de medición correctos frente a los incorrectos. En el siguiente ejemplo, se ilustra el comportamiento. Supón que ninguna política anula la y que una extensión puede establecer ajustes para ventanas normales (R) y ajustes para ventanas de incógnito (I).
- Si solo estableces (R), esta configuración se aplicará tanto para las ventanas normales como de incógnito.
- Si solo estableces (I), estos parámetros de configuración solo se aplicarán a las ventanas de incógnito. Períodos normales usar la configuración determinada por las capas inferiores (opciones de la línea de comandos y configuración del sistema).
- Si estableces (R) y también (I), se usarán las opciones de configuración respectivas para el modo incógnito y normal o períodos de medición correctos frente a los incorrectos.
Si dos o más extensiones quieren establecer la misma configuración con valores diferentes, se instalará la extensión. más recientes tiene prioridad sobre las demás extensiones. Si la extensión instalada más recientemente solo configura (I), la configuración de las ventanas normales puede definirse según los registros extensiones.
El valor real de una configuración es el que resulta de considerar las reglas de precedencia. Integra lo usa Chrome.
Tipos
ChromeSetting
Una interfaz que permite acceder a una configuración del navegador Chrome. Consulta accessibilityFeatures
para ver un ejemplo.
Propiedades
-
onChange
Evento<functionvoidvoid>
Se activa después de cambiar la 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 ha cambiado es específico de la sesión de incógnito. Esta propiedad solo estará presente si el usuario habilitó la extensión en modo Incógnito.
-
levelOfControl
El nivel de control de la configuración.
-
valor
T
Es el valor de la configuración después del cambio.
-
-
-
-
borrar
void
PromesaBorra el parámetro de configuración y restablece cualquier valor predeterminado.
La función
clear
se ve de la siguiente manera:(details: object, callback?: function) => {...}
-
detalles
objeto
Qué parámetro de configuración borrar.
-
alcance
ChromeSettingScope opcional
Dónde borrar el parámetro de configuración (predeterminado: normal)
-
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
-
muestra
Promesa<void>
Chrome 96 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
-
-
get
void
PromesaObtiene el valor de una configuración.
La función
get
se ve de la siguiente manera:(details: object, callback?: function) => {...}
-
detalles
objeto
Parámetro de configuración que se debe considerar.
-
incógnito
booleano opcional
Indica si se debe mostrar el valor que se aplica a la sesión de incógnito (el valor predeterminado es 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
Indica si el valor efectivo es específico de la sesión en modo Incógnito. Esta propiedad solo estará presente si la propiedad
incognito
en el parámetrodetails
deget()
es verdadera. -
levelOfControl
El nivel de control de la configuración.
-
valor
T
Es el valor de la configuración.
-
-
-
muestra
Promise<object>
Chrome 96 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones 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é configuración se debe cambiar.
-
alcance
ChromeSettingScope opcional
Dónde establecer la configuración (predeterminado: normal).
-
valor
T
Es el valor de la 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 de configuración. 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
-
muestra
Promesa<void>
Chrome 96 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
-
ChromeSettingScope
El alcance de ChromeSetting. Uno de
regular
: Es la 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 heredado por el perfil de incógnito).incognito\_persistent
: Es la configuración del perfil de incógnito que sobrevive a los reinicios del navegador (se anulan 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 esa sesión (se anulan las preferencias regulares y Incógnito_persistent).
Enum
“normal”
“regular_only”
" Incógnito_persistent"
“ Incógnito_session_only”
LevelOfControl
Uno de
not\_controllable
: No se puede controlar con ninguna extensión.controlled\_by\_other\_extensions
: Se controla por extensiones con mayor precedencia.controllable\_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"