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 dieregular
-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ürregular
undincognito_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.
- Systemeinstellungen des Betriebssystems
- Befehlszeilenparameter
- Von Erweiterungen bereitgestellte Einstellungen
- 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
VersprechenLö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
ChromeSettingScope optional
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öherPromise-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
VersprechenRuft 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
imdetails
-Parameter vonget()
wahr war. -
levelOfControl
Das Ausmaß der Kontrolle der Einstellung.
-
value
T
Der Wert der Einstellung.
-
-
-
Gibt zurück
Promise<object>
Chrome 96 oder höherPromise-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
VersprechenLegt den Wert einer Einstellung fest.
Die Funktion
set
sieht so aus:(details: object, callback?: function) => {...}
-
Details
Objekt
Einstellung, die geändert werden soll
-
Bereich
ChromeSettingScope optional
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öherPromise-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
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 wirdregular\_only
: Einstellung nur für das reguläre Profil, die nicht vom Inkognitoprofil übernommen wirdincognito\_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
Eine von
not\_controllable
: kann von keiner Erweiterung gesteuert werdencontrolled\_by\_other\_extensions
: wird von Erweiterungen mit höherer Priorität gesteuertcontrollable\_by\_this\_extension
: kann von dieser Erweiterung gesteuert werdencontrolled\_by\_this\_extension
: wird von dieser Erweiterung gesteuert
Enum
"not_controllable"
"controllable_by_this_extension"