browser.types

Descrizione

L'API chrome.types contiene dichiarazioni di tipo per Chrome.

Impostazioni di Google Chrome

Il tipo ChromeSetting fornisce un insieme comune di funzioni (get(), set() e clear()) nonché un publisher di eventi (onChange) per le impostazioni del browser Chrome. Gli esempi di impostazioni del proxy mostrano come utilizzare queste funzioni.

Ambito e ciclo di vita

Chrome distingue tra tre diversi ambiti delle impostazioni del browser:

regular
Le impostazioni configurate nell'ambito regular si applicano alle finestre del browser normali e vengono ereditate dalle finestre di navigazione in incognito se non vengono sovrascritte. Queste impostazioni vengono memorizzate sul disco e rimangono invariate finché non vengono cancellate dall'estensione di controllo o finché quest'ultima non viene disattivata o disinstallata.
incognito_persistent
Le impostazioni configurate nell'ambito incognito_persistent si applicano solo alle finestre Incognito. In questi casi, eseguono l'override delle impostazioni di regular. Queste impostazioni vengono memorizzate sul disco e rimangono invariate finché non vengono cancellate dall'estensione di controllo o finché l'estensione di controllo non viene disattivata o disinstallata.
incognito_session_only
Le impostazioni configurate nell'ambito incognito_session_only si applicano solo alle finestre Incognito. In questi casi, eseguono l'override delle impostazioni regular e incognito_persistent. Queste impostazioni non vengono memorizzate sul disco e vengono cancellate alla chiusura dell'ultima finestra Incognito. Possono essere impostate solo quando è aperta almeno una finestra Incognito.

Precedenza

Chrome gestisce le impostazioni su diversi livelli. L'elenco seguente descrive i livelli che possono influenzare le impostazioni effettive, in ordine di precedenza crescente.

  1. Impostazioni di sistema fornite dal sistema operativo
  2. Parametri della riga di comando
  3. Impostazioni fornite dalle estensioni
  4. Norme

Come suggerisce l'elenco, le policy potrebbero annullare le modifiche specificate con l'estensione. Puoi utilizzare la funzione get() per determinare se la tua estensione è in grado di fornire un'impostazione o se questa impostazione verrebbe sostituita.

Come accennato in precedenza, Chrome consente di utilizzare impostazioni diverse per le finestre normali e quelle in incognito. L'esempio seguente illustra il comportamento. Supponiamo che nessuna policy esegua l'override delle impostazioni e che un'estensione possa configurare le impostazioni per le finestre normali (R) e per le finestre Incognito (I).

  • Se è impostato solo (R), queste impostazioni sono valide sia per le finestre normali sia per quelle in incognito.
  • Se è impostato solo (I), queste impostazioni sono valide solo per le finestre Incognito. Le finestre normali utilizzano le impostazioni determinate dai livelli inferiori (opzioni della riga di comando e impostazioni di sistema).
  • Se sono impostati sia (R) che (I), le rispettive impostazioni vengono utilizzate per le finestre normali e in incognito.

Se due o più estensioni vogliono impostare la stessa impostazione su valori diversi, l'estensione installata più di recente ha la precedenza sulle altre. Se l'estensione installata più di recente imposta solo (I), le impostazioni delle finestre normali possono essere definite dalle estensioni installate in precedenza.

Il valore effettivo di un'impostazione è quello che risulta dalla considerazione delle regole di precedenza. Viene utilizzato da Chrome.

Tipi

ChromeSetting

Un'interfaccia che consente di accedere a un'impostazione del browser Chrome. Per un esempio, vedi accessibilityFeatures.

Proprietà

  • onChange

    Event<functionvoidvoid>

    Attivato dopo la modifica dell'impostazione.

    La funzione onChange.addListener ha il seguente aspetto:

    (callback: function) => {...}

    • callback

      funzione

      Il parametro callback ha il seguente aspetto:

      (details: object) => void

      • dettagli

        oggetto

        • incognitoSpecific

          boolean facoltativo

          Se il valore modificato è specifico della sessione in incognito. Questa proprietà sarà presente solo se l'utente ha attivato l'estensione in modalità Incognito.

        • levelOfControl

          Il livello di controllo dell'impostazione.

        • valore

          T

          Il valore dell'impostazione dopo la modifica.

  • cancella

    void

    Cancella l'impostazione, ripristinando l'eventuale valore predefinito.

    La funzione clear ha il seguente aspetto:

    (details: object) => {...}

    • dettagli

      oggetto

      Quale impostazione cancellare.

      • ambito

        ChromeSettingScope facoltativo

        Dove cancellare l'impostazione (valore predefinito: regular).

    • returns

      Promise<void>

      Browser Chrome 96+ .* da Chrome 148

      Chiamato al termine dell'operazione di cancellazione.

  • get

    void

    Recupera il valore di un'impostazione.

    La funzione get ha il seguente aspetto:

    (details: object) => {...}

    • dettagli

      oggetto

      Quale impostazione considerare.

      • incognito

        boolean facoltativo

        Indica se restituire il valore applicabile alla sessione in incognito (valore predefinito: false).

    • returns

      Promise<object>

      Browser Chrome 96+ .* da Chrome 148
  • imposta

    void

    Imposta il valore di un'impostazione.

    La funzione set ha il seguente aspetto:

    (details: object) => {...}

    • dettagli

      oggetto

      Quale impostazione modificare.

      • ambito

        ChromeSettingScope facoltativo

        Dove configurare l'impostazione (valore predefinito: normale).

      • valore

        T

        Il valore dell'impostazione. Tieni presente che ogni impostazione ha un tipo di valore specifico, descritto insieme all'impostazione. Un'estensione non deve impostare un valore di un tipo diverso.

    • returns

      Promise<void>

      Browser Chrome 96+ .* da Chrome 148

      Chiamato al completamento dell'operazione di impostazione.

ChromeSettingScope

Browser Chrome 44 e versioni successive * da Chrome 148

L'ambito di ChromeSetting. Una tra

  • regular: impostazione per il profilo normale (che viene ereditata dal profilo in incognito se non viene sostituita altrove),
  • regular\_only: impostazione solo per il profilo normale (non ereditata dal profilo in incognito).
  • incognito\_persistent: impostazione per il profilo di navigazione in incognito che rimane attiva anche dopo il riavvio del browser (esegue l'override delle preferenze normali),
  • incognito\_session\_only: impostazione per il profilo di navigazione in incognito che può essere impostata solo durante una sessione in incognito e viene eliminata al termine della sessione in incognito (esegue l'override delle preferenze normali e incognito_persistent).

Enum

"regular"

"regular_only"

"incognito_persistent"

"incognito_session_only"

LevelOfControl

Browser Chrome 44 e versioni successive * da Chrome 148

Una tra

  • not\_controllable: non può essere controllato da nessuna estensione
  • controlled\_by\_other\_extensions: controllato da estensioni con precedenza più elevata
  • controllable\_by\_this\_extension: può essere controllato da questa estensione
  • controlled\_by\_this\_extension: controllata da questa estensione

Enum

"not_controllable"

"controlled_by_other_extensions"

"controllable_by_this_extension"

"controlled_by_this_extension"