Beschreibung
Die chrome.types API enthält Typdeklarationen für Chrome.
Chrome-Einstellungen
Der ChromeSetting-Prototyp 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_persistentfestgelegt 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_onlyfestgelegt sind, gelten nur für Inkognitofenster. Sie überschreiben die Einstellungen fürregularundincognito_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 oben beschrieben, 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
- 
    onChangeEvent<functionvoidvoid> Wird ausgelöst, nachdem sich die Einstellung geändert hat. Die onChange.addListener-Funktion sieht so aus:(callback: function) => {...} - 
    callbackFunktion Der Parameter callbacksieht so aus:(details: object) => void - 
    DetailsObjekt - 
    incognitoSpecificboolean 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. 
- 
    levelOfControlDie Kontrollstufe der Einstellung. 
- 
    WertT Der Wert der Einstellung nach der Änderung. 
 
- 
    
 
- 
    
 
- 
    
- 
    löschenvoid PromiseLöscht die Einstellung und stellt den Standardwert wieder her. Die clear-Funktion sieht so aus:(details: object, callback?: function) => {...} - 
    DetailsObjekt Welche Einstellung gelöscht werden soll. - 
    BereichChromeSettingScope optional Wo die Einstellung gelöscht werden soll (Standard: „regular“). 
 
- 
    
- 
    callbackFunktion optional Der Parameter callbacksieht so aus:() => void 
 - 
            Gibt zurückPromise<void> Chrome 96 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden. 
 
- 
    
- 
    getvoid PromiseRuft den Wert einer Einstellung ab. Die get-Funktion sieht so aus:(details: object, callback?: function) => {...} - 
    DetailsObjekt Welche Einstellung berücksichtigt werden soll. - 
    Inkognitoboolean optional Gibt an, ob der Wert zurückgegeben werden soll, der für die Inkognitositzung gilt (Standardwert: „false“). 
 
- 
    
- 
    callbackFunktion optional Der Parameter callbacksieht so aus:(details: object) => void - 
    DetailsObjekt Details zum aktuell gültigen Wert. - 
    incognitoSpecificboolean optional Gibt an, ob der effektive Wert für die Inkognitositzung spezifisch ist. Diese Property ist nur vorhanden, wenn die Property incognitoim Parameterdetailsvonget()„true“ war.
- 
    levelOfControlDie Kontrollstufe der Einstellung. 
- 
    WertT Der Wert der Einstellung. 
 
- 
    
 
- 
    
 - 
            Gibt zurückPromise<object> Chrome 96 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden. 
 
- 
    
- 
    setvoid PromiseLegt den Wert einer Einstellung fest. Die set-Funktion sieht so aus:(details: object, callback?: function) => {...} - 
    DetailsObjekt Welche Einstellung geändert werden soll. - 
    BereichChromeSettingScope optional Wo die Einstellung festgelegt werden soll (Standard: „regular“). 
- 
    WertT 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. 
 
- 
    
- 
    callbackFunktion optional Der Parameter callbacksieht so aus:() => void 
 - 
            Gibt zurückPromise<void> Chrome 96 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden. 
 
- 
    
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 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" 
 
"controlled_by_other_extensions" 
 
"controllable_by_this_extension" 
 
"controlled_by_this_extension"