Beschrijving
De chrome.types
API bevat typedeclaraties voor Chrome.
Chrome-instellingen
Het type ChromeSetting
biedt een gemeenschappelijke set functies ( get()
, set()
en clear()
) en een gebeurtenisuitgever ( onChange
) voor de instellingen van de Chrome-browser. De voorbeelden van proxy-instellingen laten zien hoe deze functies bedoeld zijn om te worden gebruikt.
Omvang en levenscyclus
Chrome maakt onderscheid tussen drie verschillende soorten browserinstellingen:
-
regular
- Instellingen die in het
regular
bereik zijn ingesteld, zijn van toepassing op reguliere browservensters en worden overgenomen door incognitovensters als ze niet worden overschreven. Deze instellingen worden op schijf opgeslagen en blijven van kracht totdat ze door de beheerextensie worden gewist, of totdat de beheerextensie wordt uitgeschakeld of verwijderd. -
incognito_persistent
- Instellingen in het bereik
incognito_persistent
zijn alleen van toepassing op incognitovensters. Deze overschrijven deregular
instellingen. Deze instellingen worden op schijf opgeslagen en blijven van kracht totdat ze door de beheerextensie worden gewist, of totdat de beheerextensie wordt uitgeschakeld of verwijderd. -
incognito_session_only
- Instellingen die zijn ingesteld in het bereik
incognito_session_only
zijn alleen van toepassing op incognitovensters. In deze gevallen overschrijven zeregular
enincognito_persistent
instellingen. Deze instellingen worden niet op schijf opgeslagen en worden gewist wanneer het laatste incognitovenster wordt gesloten. Ze kunnen alleen worden ingesteld wanneer er ten minste één incognitovenster is geopend.
Voorrang
Chrome beheert instellingen op verschillende lagen. De volgende lijst beschrijft de lagen die van invloed kunnen zijn op de effectieve instellingen, in oplopende volgorde van prioriteit.
- Systeeminstellingen die door het besturingssysteem worden geleverd
- Opdrachtregelparameters
- Instellingen die door extensies worden geleverd
- Beleid
Zoals de lijst al aangeeft, kunnen beleidsregels alle wijzigingen die u met uw extensie opgeeft, overschrijven. U kunt de functie get()
gebruiken om te bepalen of uw extensie een instelling kan bieden of dat deze instelling wordt overschreven.
Zoals eerder besproken, staat Chrome verschillende instellingen toe voor gewone vensters en incognitovensters. Het volgende voorbeeld illustreert dit gedrag. Stel dat geen enkel beleid de instellingen overschrijft en dat een extensie instellingen kan instellen voor gewone vensters (R) en instellingen voor incognitovensters (I) .
- Als alleen (R) is ingesteld, zijn deze instellingen van toepassing op zowel normale als incognitovensters.
- Als alleen (I) is ingesteld, zijn deze instellingen alleen van toepassing op incognitovensters. Normale vensters gebruiken de instellingen die door de lagere lagen worden bepaald (opdrachtregelopties en systeeminstellingen).
- Als zowel (R) als (I) zijn ingesteld, worden de respectievelijke instellingen gebruikt voor normale en incognitovensters.
Als twee of meer extensies dezelfde instelling op verschillende waarden willen instellen, heeft de meest recent geïnstalleerde extensie voorrang op de andere extensies. Als de meest recent geïnstalleerde extensie alleen (I) instelt, kunnen de instellingen van reguliere vensters worden gedefinieerd door eerder geïnstalleerde extensies.
De effectieve waarde van een instelling is de waarde die voortvloeit uit de voorrangsregels. Deze wordt gebruikt door Chrome.
Typen
ChromeSetting
Een interface die toegang geeft tot een Chrome-browserinstelling. Zie accessibilityFeatures
voor een voorbeeld.
Eigenschappen
- onChange
Gebeurtenis<functievoidvoid>
Afgevuurd nadat de instellingen zijn gewijzigd.
De functie
onChange.addListener
ziet er als volgt uit:(callback: function) => {...}
- terugbellen
functie
De
callback
ziet er als volgt uit:(details: object) => void
- details
voorwerp
- incognitoSpecifiek
boolean optioneel
Of de gewijzigde waarde specifiek is voor de incognitosessie. Deze eigenschap is alleen aanwezig als de gebruiker de extensie in de incognitomodus heeft ingeschakeld.
- niveau van controle
De mate van controle over de omgeving.
- waarde
T
De waarde van de instelling na de wijziging.
- duidelijk
leegte
Wist de instelling en herstelt de standaardwaarde.
De
clear
-functie ziet er als volgt uit:(details: object) => {...}
- details
voorwerp
Welke instelling moet ik wissen?
- domein
ChromeSettingScope optioneel
Waar de instelling moet worden gewist (standaard: normaal).
- retouren
Belofte<leegte>
Chroom 96+
- krijgen
leegte
Haalt de waarde van een instelling op.
De
get
-functie ziet er als volgt uit:(details: object) => {...}
- details
voorwerp
Welke instelling moet u overwegen?
- incognito
boolean optioneel
Of de waarde moet worden geretourneerd die van toepassing is op de incognitosessie (standaard false).
- retouren
Belofte<object>
Chroom 96+
- set
leegte
Stelt de waarde van een instelling in.
De
set
ziet er als volgt uit:(details: object) => {...}
- details
voorwerp
Welke instelling moet ik wijzigen?
- domein
ChromeSettingScope optioneel
Waar de instelling moet worden ingesteld (standaard: normaal).
- waarde
T
De waarde van de instelling. Houd er rekening mee dat elke instelling een specifiek waardetype heeft, dat samen met de instelling wordt beschreven. Een extensie mag geen waarde van een ander type instellen.
- retouren
Belofte<leegte>
Chroom 96+
ChromeSettingScope
De reikwijdte van de ChromeSetting. Een van
-
regular
: instelling voor het reguliere profiel (dat wordt overgenomen door het incognitoprofiel als het niet elders wordt overschreven), -
regular\_only
: instelling alleen voor het reguliere profiel (wordt niet overgenomen door het incognitoprofiel), -
incognito\_persistent
: instelling voor het incognitoprofiel dat herstarts van de browser overleeft (overschrijft de normale voorkeuren), -
incognito\_session\_only
: instelling voor het incognitoprofiel dat alleen kan worden ingesteld tijdens een incognitosessie en wordt verwijderd wanneer de incognitosessie wordt beëindigd (overschrijft de normale en incognito_persistent voorkeuren).
Enum
"normaal" "alleen_regulier" "incognito_persistent" "incognito_sessie_alleen"
LevelOfControl
Een van
-
not\_controllable
: kan niet door een extensie worden bestuurd -
controlled\_by\_other\_extensions
: gecontroleerd door extensies met hogere prioriteit -
controllable\_by\_this\_extension
: kan worden bestuurd door deze extensie -
controlled\_by\_this\_extension
: gecontroleerd door deze extensie
Enum
"niet_controleerbaar" "gecontroleerd_door_andere_extensies" "bestuurbaar_door_deze_extensie" "gecontroleerd_door_deze_extensie"