chrome.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. Le impostazioni del proxy esempi dimostrano come devono essere usate queste funzioni.

Ambito e ciclo di vita

Chrome distingue tre diversi ambiti delle impostazioni del browser:

regular
Le impostazioni impostate nell'ambito regular vengono applicate alle normali finestre del browser e vengono ereditate dalla modalità in incognito se non vengono sovrascritte. Queste impostazioni vengono memorizzate su disco e rimangono in vigore finché vengono autorizzati dall'estensione in questione oppure l'estensione in questione viene disattivata o disinstallata.
incognito_persistent
Le impostazioni impostate nell'ambito incognito_persistent si applicano solo alle finestre di navigazione in incognito. Per questi modelli, sostituisci le impostazioni di regular. Queste impostazioni vengono memorizzate su disco e rimangono in vigore finché non rimossa dall'estensione in questione oppure quest'ultima è stata disattivata o disinstallata.
incognito_session_only
Le impostazioni impostate nell'ambito incognito_session_only si applicano solo alle finestre di navigazione in incognito. Per questi modelli, sostituisci le impostazioni regular e incognito_persistent. Queste impostazioni non vengono archiviate su disco vengono cancellate alla chiusura dell'ultima finestra di navigazione in incognito. Possono essere impostati solo se è presente almeno uno finestra di navigazione in incognito aperta.

Precedenza

Chrome gestisce le impostazioni su diversi livelli. Il seguente elenco descrive i livelli che possono influenzano le impostazioni effettive in ordine crescente di precedenza.

  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, i criteri potrebbero prevalere su qualsiasi modifica specificata con l'estensione. Tu puoi utilizzare la funzione get() per determinare se l'estensione è in grado di fornire un'impostazione o se questa impostazione viene ignorata.

Come già detto, Chrome consente di utilizzare impostazioni diverse per le finestre normali e la modalità di navigazione in incognito finestre. Il seguente esempio illustra il comportamento. Supponiamo che nessun criterio prevalga e che un'estensione può configurare le impostazioni per le finestre normali (R) e le impostazioni per finestre di navigazione in incognito (I).

  • Se è configurata solo la funzione (R), queste impostazioni verranno applicate sia alle finestre normali che a quelle di navigazione in incognito.
  • Se viene configurato solo (I), queste impostazioni vengono applicate soltanto per le finestre di navigazione in incognito. Finestre normali utilizzare le impostazioni determinate dai livelli inferiori (opzioni della riga di comando e impostazioni di sistema).
  • Se sono configurate entrambe le opzioni (R) e (I), le rispettive impostazioni vengono utilizzate per le modalità normale e in incognito finestre.

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

Il valore effettivo di un'impostazione è quello che deriva dal considerare le regole di precedenza. it è utilizzato da Chrome.

Tipi

ChromeSetting

Un'interfaccia che consente l'accesso a un'impostazione del browser Chrome. Vedi accessibilityFeatures per un esempio.

Proprietà

  • onChange

    Evento<functionvoidvoid>

    Attivato dopo la modifica dell'impostazione.

    La funzione onChange.addListener ha questo 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 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

    null

    Promesso .

    Cancella l'impostazione ripristinando eventuali valori predefiniti.

    La funzione clear ha questo aspetto:

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

    • dettagli

      oggetto

      L'impostazione da cancellare.

      • ambito

        ChromeSettingScope facoltativo

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

    • callback

      funzione facoltativa

      Il parametro callback ha il seguente aspetto:

      () => void

    • returns

      Promesso<void>

      Chrome 96 e versioni successive .

      Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.

  • get

    null

    Promesso .

    Ottiene il valore di un'impostazione.

    La funzione get ha questo aspetto:

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

    • dettagli

      oggetto

      Quale impostazione considerare.

      • in incognito

        booleano facoltativo

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

    • callback

      funzione facoltativa

      Il parametro callback ha il seguente aspetto:

      (details: object) => void

      • dettagli

        oggetto

        Dettagli del valore effettivo attualmente.

        • incognitoSpecific

          booleano facoltativo

          Indica 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&lt;object&gt;

      Chrome 96 e versioni successive .

      Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.

  • imposta

    null

    Promesso .

    Consente di impostare il valore di un'impostazione.

    La funzione set ha questo aspetto:

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

    • dettagli

      oggetto

      Quale impostazione modificare.

      • ambito

        ChromeSettingScope facoltativo

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

      • valore

        T

        Il valore dell'impostazione. Tieni presente che ogni impostazione ha 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

      Promesso<void>

      Chrome 96 e versioni successive .

      Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.

ChromeSettingScope

Chrome 44 e versioni successive .

L'ambito di ChromeSetting. Una tra

  • regular: impostazione del profilo normale (che viene ereditato dal profilo in incognito se non viene sostituito altrove).
  • regular\_only: impostazione solo per il profilo normale (non ereditato dal profilo in incognito).
  • incognito\_persistent: impostazione per il profilo in incognito che sopravvive ai riavvii del browser (sostituisce le 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 della sessione (sostituisce le preferenze regolari e in incognito_persistent).

Enum

"regular"

"regular_only"

"incognito_persistent"

""incognito_session_only"

LevelOfControl

Chrome 44 e versioni successive .

Una tra

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

Enum

"not_controllable"

&quot;controlled_by_other_extensions&quot;

&quot;controllable_by_this_extension&quot;

&quot;controlled_by_this_extension&quot;