Beschreibung
Die chrome.types
API enthält Typdeklarationen für Chrome.
Chrome-Einstellungen
Der Typ ChromeSetting
bietet eine gemeinsame Reihe von Funktionen (get()
, set()
und clear()
) sowie einen Event-Publisher (onChange
) für die Einstellungen des Chrome-Browsers. In den Beispielen für Proxyeinstellungen wird gezeigt, wie diese Funktionen verwendet werden sollen.
Umfang und Lebenszyklus
In Chrome wird zwischen drei verschiedenen Bereichen von Browsereinstellungen unterschieden:
regular
- Einstellungen, die im
regular
-Bereich festgelegt sind, gelten für normale Browserfenster und werden von Inkognitofenstern übernommen, sofern sie nicht überschrieben werden. Diese Einstellungen werden auf der Festplatte gespeichert und bleiben bestehen, bis sie von der zuständigen Erweiterung gelöscht werden oder die zuständige Erweiterung deaktiviert oder deinstalliert wird. incognito_persistent
- Einstellungen, die im Bereich
incognito_persistent
festgelegt sind, gelten nur für Inkognitofenster. Diese Einstellungen überschreiben dieregular
-Einstellungen. Diese Einstellungen werden auf der Festplatte gespeichert und bleiben bestehen, bis sie von der zuständigen Erweiterung gelöscht werden oder die zuständige Erweiterung deaktiviert oder deinstalliert wird. incognito_session_only
- Einstellungen, die im Bereich
incognito_session_only
festgelegt sind, gelten nur für Inkognitofenster. Sie überschreiben die Einstellungen fürregular
undincognito_persistent
. Diese Einstellungen werden nicht auf der Festplatte gespeichert und werden 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.
- Vom Betriebssystem bereitgestellte Systemeinstellungen
- Befehlszeilenparameter
- Von Erweiterungen bereitgestellte Einstellungen
- Richtlinien
Wie die Liste zeigt, können Richtlinien alle Änderungen überschreiben, die Sie mit Ihrer Erweiterung angeben. Mit der Funktion get()
können Sie ermitteln, ob Ihre Erweiterung eine Einstellung bereitstellen kann oder ob diese Einstellung überschrieben würde.
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 normale Fenster (R) und Einstellungen für Inkognitofenster (I) festlegen.
- Wenn nur (R) festgelegt ist, gelten diese Einstellungen sowohl für normale als auch für Inkognitofenster.
- Wenn nur (I) festgelegt ist, gelten diese Einstellungen nur für Inkognitofenster. Bei regulären Fenstern werden die Einstellungen verwendet, die von den unteren Ebenen (Befehlszeilenoptionen und Systemeinstellungen) festgelegt werden.
- Wenn sowohl (R) als auch (I) festgelegt sind, werden die entsprechenden Einstellungen für normale 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 regulärer Fenster durch zuvor installierte Erweiterungen definiert werden.
Der effektive Wert einer Einstellung ist der Wert, der sich aus der Berücksichtigung der Vorrangregeln ergibt. Sie wird von Chrome verwendet.
Typen
ChromeSetting
Eine Schnittstelle, die den Zugriff auf eine Chrome-Browsereinstellung ermöglicht. Ein Beispiel finden Sie unter accessibilityFeatures
.
Attribute
-
onChange
Event<functionvoidvoid>
Wird ausgelöst, nachdem sich die Einstellung geändert hat.
Die
onChange.addListener
-Funktion sieht so aus:(callback: function) => {...}
-
callback
Funktion
Der Parameter
callback
sieht so aus:(details: object) => void
-
Details
Objekt
-
incognitoSpecific
boolean optional
Gibt an, ob sich der geänderte Wert auf die Inkognitositzung bezieht. Diese Eigenschaft ist nur vorhanden, wenn der Nutzer die Erweiterung im Inkognitomodus aktiviert hat.
-
levelOfControl
Die Kontrollstufe 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
clear
-Funktion sieht so aus:(details: object) => {...}
-
Details
Objekt
Welche Einstellung gelöscht werden soll.
-
Bereich
ChromeSettingScope optional
Wo die Einstellung gelöscht werden soll (Standard: „regular“).
-
-
Gibt zurück
Promise<void>
Chrome 96 und höher
-
-
get
void
Ruft den Wert einer Einstellung ab.
Die
get
-Funktion sieht so aus:(details: object) => {...}
-
Details
Objekt
Welche Einstellung berücksichtigt werden soll.
-
Inkognito
boolean 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 und höher
-
-
set
void
Legt den Wert einer Einstellung fest.
Die
set
-Funktion sieht so aus:(details: object) => {...}
-
Details
Objekt
Welche Einstellung geändert werden soll.
-
Bereich
ChromeSettingScope optional
Wo die Einstellung festgelegt werden soll (Standard: „regular“).
-
Wert
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.
-
-
Gibt zurück
Promise<void>
Chrome 96 und höher
-
ChromeSettingScope
Der Bereich der Chrome-Einstellung. Eine von
regular
: Einstellung für das reguläre Profil (das vom Inkognitoprofil übernommen wird, sofern es nicht an anderer Stelle überschrieben wird),regular\_only
: Einstellung nur für das reguläre Profil (wird nicht vom Inkognitoprofil übernommen)incognito\_persistent
: Einstellung für das Inkognitoprofil, die Browserneustarts überdauert (ü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 reguläre und „incognito_persistent“-Einstellungen).
Enum
"regular"
"regular_only"
"incognito_persistent"
"incognito_session_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"
"controlled_by_other_extensions"
"controllable_by_this_extension"
"controlled_by_this_extension"