chrome.types

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 de regular. 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 de regular y incognito_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.

  1. La configuración del sistema que proporciona el sistema operativo
  2. Parámetros de la línea de comandos
  3. Configuración proporcionada por extensiones
  4. 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

    Promesa

    Se 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

        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 posteriores

      Las 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

    Promesa

    Obtiene 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ámetro details de get() 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 posteriores

      Las 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

    Promesa

    Establece 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

        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 posteriores

      Las 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

Chrome 44 y versiones posteriores

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

Chrome 44 y versiones posteriores

Uno de

  • not\_controllable: No se puede controlar con ninguna extensión
  • controlled\_by\_other\_extensions: Se controla mediante extensiones con mayor prioridad
  • controllable\_by\_this\_extension: Se puede controlar con esta extensión
  • controlled\_by\_this\_extension: controlado por esta extensión

Enum

"not_controllable":

"controllable_by_this_extension"

"controlled_by_this_extension"