chrome.types

Descrizione

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

Impostazioni di Google Chrome

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

Ambito e ciclo di vita

Chrome distingue tra tre diversi ambiti delle impostazioni del browser:

regular
Le impostazioni impostate nell'ambito regular si applicano alle normali finestre del browser e vengono ereditate dalle finestre di navigazione in incognito se non vengono sovrascritte. Queste impostazioni vengono archiviate su disco e rimangono attive finché non vengono cancellate dall'estensione di gestione o fino a quando l'estensione di gestione non viene disabilitata o disinstallata.
incognito_persistent
Le impostazioni impostate nell'ambito incognito_persistent si applicano solo alle finestre di navigazione in incognito. Per questi casi, eseguono l'override delle impostazioni regular. Queste impostazioni vengono archiviate su disco e rimangono attive finché non vengono cancellate dall'estensione di gestione o fino a quando l'estensione di gestione non viene disabilitata o disinstallata.
incognito_session_only
Le impostazioni impostate nell'ambito incognito_session_only si applicano solo alle finestre di navigazione in incognito. Per queste impostazioni, eseguono l'override delle impostazioni regular e incognito_persistent. Queste impostazioni non vengono memorizzate su disco e vengono cancellate alla chiusura dell'ultima finestra di navigazione in incognito. Possono essere impostati solo quando è aperta almeno una finestra di navigazione in incognito.

Precedenza

Chrome gestisce le impostazioni su diversi livelli. Nell'elenco che segue vengono descritti 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 norme potrebbero prevalere su qualsiasi modifica specificata con l'estensione. Puoi utilizzare la funzione get() per determinare se la tua estensione è in grado di fornire un'impostazione o se questa impostazione verrà ignorata.

Come discusso in precedenza, Chrome consente di utilizzare impostazioni diverse per le finestre normali e quelle di navigazione in incognito. L'esempio seguente illustra il comportamento. Supponiamo che nessun criterio sostituisca le impostazioni e che un'estensione possa configurare impostazioni per finestre normali (R) e impostazioni per le finestre di navigazione in incognito (I).

  • Se è impostato solo (R), queste impostazioni vengono applicate sia alle finestre normali che a quelle di navigazione in incognito.
  • Se è impostata solo (I), queste impostazioni vengono applicate soltanto alle finestre di navigazione in incognito. Le finestre regolari utilizzano le impostazioni stabilite dai livelli inferiori (opzioni della riga di comando e impostazioni di sistema).
  • Se sono impostati entrambi i valori (R) e (I), vengono utilizzate le rispettive impostazioni per le finestre normali e di navigazione 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 risultante dalla valutazione delle regole di precedenza. Viene utilizzato da Chrome.

Tipi

ChromeSetting

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

Proprietà

  • onChange

    Evento<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

          booleano facoltativo

          Indica se il valore modificato è specifico per la sessione di navigazione in incognito. Questa proprietà sarà presente solo se l'utente ha attivato l'estensione in modalità di navigazione in incognito.

        • levelOfControl

          Il livello di controllo dell'impostazione.

        • valore

          T

          Il valore dell'impostazione dopo la modifica.

  • cancella

    void

    Promessa

    Cancella l'impostazione, ripristinando i valori predefiniti.

    La funzione clear ha il seguente aspetto:

    (details: object,callback?: function)=> {...}

    • dettagli

      oggetto

      Quale impostazione cancellare.

      • ambito

        ChromeSettingScope facoltativo

        Dove cancellare l'impostazione (impostazione predefinita: normale).

    • callback

      funzione facoltativa

      Il parametro callback ha il seguente aspetto:

      ()=>void

    • returns

      Promise<void>

      Chrome 96 e versioni successive

      Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.

  • get

    void

    Promessa

    Recupera il valore di un'impostazione.

    La funzione get ha il seguente aspetto:

    (details: object,callback?: function)=> {...}

    • dettagli

      oggetto

      Quale impostazione considerare.

      • in incognito

        booleano facoltativo

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

    • callback

      funzione facoltativa

      Il parametro callback ha il seguente aspetto:

      (details: object)=>void

      • dettagli

        oggetto

        Dettagli del valore attualmente effettivo.

        • incognitoSpecific

          booleano facoltativo

          Se il valore effettivo è specifico per la sessione di navigazione in incognito. Questa proprietà sarà presente solo se la proprietà incognito nel parametro details di get() era true.

        • levelOfControl

          Il livello di controllo dell'impostazione.

        • valore

          T

          Il valore dell'impostazione.

    • returns

      Promise<object>

      Chrome 96 e versioni successive

      Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.

  • imposta

    void

    Promessa

    Consente di impostare il valore di un'impostazione.

    La funzione set ha il seguente aspetto:

    (details: object,callback?: function)=> {...}

    • dettagli

      oggetto

      Quale impostazione modificare.

      • ambito

        ChromeSettingScope facoltativo

        Dove configurare l'impostazione (impostazione predefinita: regolare).

      • valore

        T

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

    • callback

      funzione facoltativa

      Il parametro callback ha il seguente aspetto:

      ()=>void

    • returns

      Promise<void>

      Chrome 96 e versioni successive

      Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.

ChromeSettingScope

Chrome 44 e versioni successive

L'ambito dell'impostazione Chrome. Una tra

  • regular: impostazione per il profilo normale (ereditato dal profilo di navigazione in incognito se non viene sostituito da altri),
  • regular\_only: impostazione solo per il profilo normale (non ereditato dal profilo in incognito).
  • incognito\_persistent: l'impostazione del profilo in incognito che rimane al riavvio del browser (esegue l'override delle normali preferenze).
  • incognito\_session\_only: impostazione per il profilo in incognito che può essere impostata solo durante una sessione di navigazione in incognito e viene eliminata al termine di quest'ultima (esegue l'override delle preferenze regolari e di navigazione in incognito_persistent).

Enum

"regular_only"

"incognito_persistent"

"incognito_session_only"

LevelOfControl

Chrome 44 e versioni successive

Una tra

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

Enum

"controlled_by_other_extensions"

"controllable_by_this_extension"

"controlled_by_this_extension"