browser.types

Beschreibung

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

Chrome-Einstellungen

Der Typ ChromeSetting bietet eine Reihe gängiger Funktionen (get(), set() und clear()) sowie einen Event Publisher (onChange) für Einstellungen des Chrome-Browsers. Die Beispiele für Proxy-Einstellungen zeigen, wie diese Funktionen verwendet werden sollen.

Gültigkeitsbereich und Lebenszyklus

Chrome unterscheidet zwischen drei verschiedenen Bereichen von Browsereinstellungen:

regular
Einstellungen, die im Bereich regular festgelegt sind, gelten für normale Browserfenster und werden von Inkognitofenstern übernommen, wenn sie nicht überschrieben werden. Diese Einstellungen werden auf dem Laufwerk gespeichert und bleiben bestehen, bis sie von der steuernden Erweiterung gelöscht werden oder die steuernde Erweiterung deaktiviert oder deinstalliert wird.
incognito_persistent
Einstellungen, die im Bereich incognito_persistent festgelegt sind, gelten nur für Inkognitofenster. Für diese werden die regular-Einstellungen überschrieben. Diese Einstellungen werden auf dem Laufwerk gespeichert und bleiben so lange erhalten, bis sie von der steuernden Erweiterung gelöscht werden oder die steuernde Erweiterung deaktiviert oder deinstalliert wird.
incognito_session_only
Einstellungen, die im Bereich incognito_session_only festgelegt sind, gelten nur für Inkognitofenster. In diesen Fällen werden die Einstellungen regular und incognito_persistent überschrieben. 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

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

  1. Vom Betriebssystem bereitgestellte Systemeinstellungen
  2. Befehlszeilenparameter
  3. Einstellungen, die von Erweiterungen bereitgestellt werden
  4. Richtlinien

Wie die Liste zeigt, können Richtlinien alle Änderungen überschreiben, die Sie mit Ihrer Erweiterung festlegen. Mit der Funktion get() können Sie feststellen, ob Ihre Erweiterung eine Einstellung bereitstellen kann oder ob diese Einstellung überschrieben wird.

Wie bereits erwähnt, können in Chrome unterschiedliche Einstellungen für normale Fenster und Inkognitofenster verwendet werden. Das folgende Beispiel veranschaulicht das Verhalten. Angenommen, keine Richtlinie überschreibt die Einstellungen und eine Erweiterung kann Einstellungen für reguläre Fenster (R) und Einstellungen für Inkognitofenster (I) festlegen.

  • Wenn nur (R) festgelegt ist, gelten diese Einstellungen sowohl für reguläre 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 durch die unteren Ebenen (Befehlszeilenoptionen und Systemeinstellungen) festgelegt sind.
  • Wenn sowohl (R) als auch (I) festgelegt sind, werden die entsprechenden Einstellungen für reguläre und Inkognitofenster verwendet.

Wenn zwei oder mehr Erweiterungen dieselbe Einstellung auf unterschiedliche Werte festlegen möchten, hat die zuletzt installierte Erweiterung Vorrang vor den anderen Erweiterungen. Wenn die zuletzt installierte Erweiterung nur (I) festlegt, können die Einstellungen für reguläre 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 Oberfläche, die Zugriff auf eine Chrome-Browsereinstellung ermöglicht. Ein Beispiel findest du in accessibilityFeatures.

Attribute

  • onChange

    Event<functionvoidvoid>

    Wird ausgelöst, nachdem sich die Einstellung geändert hat.

    Die Funktion onChange.addListener sieht so aus:

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

    • callback

      Funktion

      Der Parameter callback sieht so aus:

      (details: object) => void

      • Details

        Objekt

        • incognitoSpecific

          Boolesch optional

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

        • levelOfControl

          Die Steuerungsebene der Einstellung.

        • Wert

          T

          Der Wert der Einstellung nach der Änderung.

  • Löschen

    void

    Löscht die Einstellung und stellt den Standardwert wieder her.

    Die Funktion clear sieht so aus:

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

    • Details

      Objekt

      Die Einstellung, die gelöscht werden soll.

      • Bereich

        Wo die Einstellung gelöscht werden soll (Standard: „regular“).

    • Gibt zurück

      Promise<void>

      Chrome 96+ browser.* seit Chrome 148

      Wird nach Abschluss des Löschvorgangs aufgerufen.

  • get

    void

    Ruft den Wert einer Einstellung ab.

    Die Funktion get sieht so aus:

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

    • Details

      Objekt

      Welche Einstellung zu berücksichtigen ist.

      • inkognito

        Boolesch optional

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

    • Gibt zurück

      Promise<object>

      Chrome 96+ browser.* seit Chrome 148
  • festgelegt

    void

    Legt den Wert einer Einstellung fest.

    Die Funktion set sieht so aus:

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

    • Details

      Objekt

      Welche Einstellung geändert werden soll.

      • Bereich

        Wo die Einstellung festgelegt werden soll (Standard: regulär).

      • Wert

        T

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

    • Gibt zurück

      Promise<void>

      Chrome 96+ browser.* seit Chrome 148

      Wird nach Abschluss des Set-Vorgangs aufgerufen.

ChromeSettingScope

Chrome 44 und höher browser.* seit Chrome 148

Der Bereich der ChromeSetting. Eine von

  • regular: Einstellung für das reguläre Profil (die vom Inkognitoprofil übernommen wird, sofern sie nicht an anderer Stelle überschrieben wird),
  • regular\_only: Einstellung nur für das reguläre Profil (nicht vom Inkognitoprofil übernommen),
  • incognito\_persistent: Einstellung für das Inkognitoprofil, die nach einem Neustart des Browsers beibehalten wird (überschreibt reguläre Einstellungen),
  • 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 (überschreibt die Einstellungen „regular“ und „incognito_persistent“).

Enum

"regular"

"regular_only"

"incognito_persistent"

"incognito_session_only"

LevelOfControl

Chrome 44 und höher browser.* seit Chrome 148

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: von dieser Erweiterung gesteuert

Enum

"not_controllable"

"controlled_by_other_extensions"

"controllable_by_this_extension"

"controlled_by_this_extension"