chrome.types

Beschreibung

Die chrome.types API enthält Typdeklarationen für Chrome.

Chrome-Einstellungen

Der Typ ChromeSetting bietet einen gemeinsamen Satz von Funktionen (get(), set() und clear()) sowie einen Ereignis-Publisher (onChange) für die Einstellungen des Chrome-Browsers. Die Beispiele für Proxy-Einstellungen zeigen den Einsatz dieser Funktionen.

Umfang und Lebenszyklus

Chrome unterscheidet zwischen drei verschiedenen Umfang von Browsereinstellungen:

regular
Die im Bereich regular festgelegten Einstellungen gelten für normale Browserfenster und werden von Inkognitofenstern übernommen, wenn sie nicht überschrieben werden. Diese Einstellungen werden auf dem Laufwerk gespeichert und bleiben so lange bestehen, bis sie von der entsprechenden Erweiterung gelöscht oder die entsprechende Erweiterung deaktiviert bzw. deinstalliert wird.
incognito_persistent
Einstellungen, die im Bereich incognito_persistent festgelegt werden, gelten nur für Inkognitofenster. Bei diesen überschreiben sie die regular-Einstellungen. Diese Einstellungen werden auf dem Laufwerk gespeichert und bleiben bestehen, bis sie von der entsprechenden Erweiterung gelöscht werden oder die betreffende Erweiterung deaktiviert bzw. deinstalliert wird.
incognito_session_only
Einstellungen, die im Bereich incognito_session_only festgelegt werden, gelten nur für Inkognitofenster. Bei diesen überschreiben sie die Einstellungen für regular und incognito_persistent. Diese Einstellungen werden nicht auf dem Laufwerk gespeichert und gelöscht, wenn das letzte Inkognitofenster geschlossen wird. Sie können nur festgelegt werden, wenn mindestens ein Inkognitofenster geöffnet ist.

Vorrang

Chrome verwaltet Einstellungen auf verschiedenen Ebenen. In der folgenden Liste werden die Ebenen, die die effektiven Einstellungen beeinflussen können, in aufsteigender Reihenfolge beschrieben.

  1. Systemeinstellungen des Betriebssystems
  2. Befehlszeilenparameter
  3. Von Erweiterungen bereitgestellte Einstellungen
  4. Richtlinien

Wie aus der Liste hervorgeht, haben Richtlinien möglicherweise Vorrang vor Änderungen, die Sie für Ihre Erweiterung angeben. Mit der Funktion get() kannst du feststellen, ob deine Erweiterung eine Einstellung bereitstellen kann oder ob diese Einstellung überschrieben werden kann.

Wie bereits erwähnt, können in Chrome unterschiedliche Einstellungen für normale Fenster und Inkognito-Fenster verwendet werden. Das folgende Beispiel veranschaulicht das Verhalten. Es wird angenommen, dass die Einstellungen von keiner Richtlinie überschrieben werden und eine Erweiterung Einstellungen für normale Fenster (R) und Einstellungen für Inkognitofenster (I) festlegen kann.

  • Wenn nur (R) festgelegt ist, gelten diese Einstellungen sowohl für normale Fenster als auch für Inkognitofenster.
  • Wenn nur (I) festgelegt ist, gelten diese Einstellungen nur für Inkognitofenster. In regulären Fenstern werden die Einstellungen verwendet, die von den unteren Ebenen (Befehlszeilenoptionen und Systemeinstellungen) festgelegt werden.
  • Sind sowohl (R) als auch (I) festgelegt, werden die entsprechenden Einstellungen für normale Fenster und Inkognitofenster verwendet.

Wenn für zwei oder mehr Erweiterungen dieselbe Einstellung auf unterschiedliche Werte festgelegt werden soll, hat die zuletzt installierte Erweiterung Vorrang vor den anderen. Wenn die zuletzt installierte Erweiterung nur (I) einsetzt, können die Einstellungen regulärer Fenster durch zuvor installierte Erweiterungen definiert werden.

Der effektive Wert einer Einstellung ergibt sich aus der Berücksichtigung der Rangfolgeregeln. Sie wird von Chrome verwendet.

Typen

ChromeSetting

Eine Benutzeroberfläche, die den Zugriff auf eine Chrome-Browsereinstellung ermöglicht. Ein Beispiel findest du unter accessibilityFeatures.

Attribute

  • onChange

    Ereignis<functionvoidvoid>

    Wird nach der Änderung der Einstellung ausgelöst.

    Die Funktion onChange.addListener sieht so aus:

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

    • callback

      Funktion

      Der Parameter callback sieht so aus:

      (details: object)=>void

      • Details

        Objekt

        • incognitoSpecific

          Boolescher Wert optional

          Gibt an, ob der geänderte Wert spezifisch für die Inkognitositzung ist. Diese Eigenschaft ist nur vorhanden, wenn der Nutzer die Erweiterung im Inkognitomodus aktiviert hat.

        • levelOfControl

          Das Ausmaß der Kontrolle der Einstellung.

        • value

          T

          Der Wert der Einstellung nach der Änderung.

  • löschen

    void

    Versprechen

    Löscht die Einstellung. Dabei wird jeder Standardwert wiederhergestellt.

    Die Funktion clear sieht so aus:

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

    • Details

      Objekt

      Einstellung, die gelöscht werden soll.

      • Bereich

        Gibt an, wo die Einstellung gelöscht werden soll (Standardeinstellung: regulär).

    • callback

      Funktion optional

      Der Parameter callback sieht so aus:

      ()=>void

    • Gibt zurück

      Promise<void>

      Chrome 96 oder höher

      Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.

  • get

    void

    Versprechen

    Ruft den Wert einer Einstellung ab.

    Die Funktion get sieht so aus:

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

    • Details

      Objekt

      Einstellung

      • inkognito

        Boolescher Wert optional

        Gibt an, ob der Wert zurückgegeben werden soll, der für die Inkognitositzung gilt (Standardeinstellung: „false“).

    • callback

      Funktion optional

      Der Parameter callback sieht so aus:

      (details: object)=>void

      • Details

        Objekt

        Details zum aktuell gültigen Wert.

        • incognitoSpecific

          Boolescher Wert optional

          Gibt an, ob der effektive Wert spezifisch für die Inkognitositzung ist. Diese Eigenschaft ist nur vorhanden, wenn die Eigenschaft incognito im details-Parameter von get() wahr war.

        • levelOfControl

          Das Ausmaß der Kontrolle der Einstellung.

        • value

          T

          Der Wert der Einstellung.

    • Gibt zurück

      Promise<object>

      Chrome 96 oder höher

      Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.

  • set

    void

    Versprechen

    Legt den Wert einer Einstellung fest.

    Die Funktion set sieht so aus:

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

    • Details

      Objekt

      Einstellung, die geändert werden soll

      • Bereich

        Hier wird die Einstellung festgelegt (Standard: regulär).

      • value

        T

        Der Wert der Einstellung. Jede Einstellung hat einen bestimmten Werttyp, der zusammen mit der Einstellung beschrieben wird. Eine Erweiterung sollte keinen Wert eines anderen Typs festlegen.

    • callback

      Funktion optional

      Der Parameter callback sieht so aus:

      ()=>void

    • Gibt zurück

      Promise<void>

      Chrome 96 oder höher

      Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.

ChromeSettingScope

Chrome 44 und höher

Umfang von ChromeSetting. Eine von

  • regular: Einstellung für das reguläre Profil, die vom Inkognitoprofil übernommen wird, wenn sie nicht an anderer Stelle überschrieben wird
  • regular\_only: Einstellung nur für das reguläre Profil, die nicht vom Inkognitoprofil übernommen wird
  • incognito\_persistent: Einstellung für das Inkognitoprofil, das einen Browserneustart überdauert (die normalen Einstellungen werden überschrieben)
  • incognito\_session\_only: Einstellung für das Inkognitoprofil, die nur während einer Inkognitositzung festgelegt werden kann und gelöscht wird, wenn die Inkognitositzung endet. Dadurch werden die regulären und die dauerhaften Einstellungen für „Inkognitomodus“ überschrieben.

Enum

"regular"

"regular_only"

LevelOfControl

Chrome 44 und höher

Eine von

  • not\_controllable: kann von keiner Erweiterung gesteuert werden
  • controlled\_by\_other\_extensions: wird von Erweiterungen mit höherer Priorität gesteuert
  • controllable\_by\_this\_extension: kann von dieser Erweiterung gesteuert werden
  • controlled\_by\_this\_extension: wird von dieser Erweiterung gesteuert

Enum

"not_controllable"

"controllable_by_this_extension"