Beschrijving
De chrome.types
API bevat typedeclaraties voor Chrome.
Chrome-instellingen
Het ChromeSetting
type biedt een gemeenschappelijke reeks functies ( get()
, set()
en clear()
) evenals een gebeurtenisuitgever ( onChange
) voor instellingen van de Chrome-browser. De voorbeelden van proxy-instellingen laten zien hoe deze functies moeten worden gebruikt.
Reikwijdte en levenscyclus
Chrome maakt onderscheid tussen drie verschillende soorten browserinstellingen:
-
regular
- Instellingen die in het
regular
bereik zijn ingesteld, zijn van toepassing op gewone browservensters en worden overgenomen door incognitovensters als ze niet worden overschreven. Deze instellingen worden op schijf opgeslagen en blijven van kracht totdat ze worden gewist door de betreffende extensie, of totdat de betreffende extensie wordt uitgeschakeld of verwijderd. -
incognito_persistent
- Instellingen die zijn ingesteld in het bereik
incognito_persistent
zijn alleen van toepassing op incognitovensters. Hiervoor overschrijven zeregular
instellingen. Deze instellingen worden op schijf opgeslagen en blijven van kracht totdat ze worden gewist door de betreffende extensie, of totdat de betreffende extensie wordt uitgeschakeld of verwijderd. -
incognito_session_only
- Instellingen die zijn ingesteld in het bereik
incognito_session_only
zijn alleen van toepassing op incognitovensters. Hiervoor 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 als er minimaal één incognitovenster geopend is.
Voorrang
Chrome beheert instellingen op verschillende lagen. De volgende lijst beschrijft de lagen die de effectieve instellingen kunnen beïnvloeden, in oplopende volgorde van prioriteit.
- Systeeminstellingen geleverd door het besturingssysteem
- Opdrachtregelparameters
- Instellingen geleverd door extensies
- Beleid
Zoals de lijst aangeeft, kan het beleid alle wijzigingen die u opgeeft bij uw extensie overrulen. U kunt de functie get()
gebruiken om te bepalen of uw extensie een instelling kan leveren of dat deze instelling wordt overschreven.
Zoals eerder besproken, staat Chrome het gebruik van verschillende instellingen toe voor gewone vensters en incognitovensters. Het volgende voorbeeld illustreert het gedrag. Stel dat geen enkel beleid de instellingen overschrijft en dat een extensie instellingen voor gewone vensters (R) en instellingen voor incognitovensters (I) kan instellen.
- Als alleen (R) is ingesteld, zijn deze instellingen van kracht voor zowel normale als incognitovensters.
- Als alleen (I) is ingesteld, zijn deze instellingen alleen van kracht voor incognitovensters. Normale vensters gebruiken de instellingen die zijn bepaald door de lagere lagen (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 gewone vensters worden gedefinieerd door eerder geïnstalleerde extensies.
De effectieve waarde van een instelling is de waarde die voortvloeit uit het overwegen van de voorrangsregels. Het wordt gebruikt door Chrome.
Soorten
ChromeSetting
Een interface die toegang geeft tot een Chrome-browserinstelling. Zie accessibilityFeatures
voor een voorbeeld.
Eigenschappen
- opWijzigen
Gebeurtenis<functionvoidvoid>
Wordt geactiveerd nadat de instelling is gewijzigd.
De
onChange.addListener
-functie ziet er als volgt uit:(callback: function) => {...}
- terugbellen
functie
De
callback
parameter ziet er als volgt uit:(details: object) => void
- details
voorwerp
- incognitoSpecifiek
Booleaans optioneel
Of de waarde die is gewijzigd specifiek is voor de incognitosessie. Deze eigenschap is alleen aanwezig als de gebruiker de extensie in de incognitomodus heeft ingeschakeld.
- niveauVanControl
Het controleniveau van de instelling.
- waarde
T
De waarde van de instelling na de wijziging.
- duidelijk
leegte
BelofteWist de instelling en herstelt eventuele standaardwaarden.
De
clear
functie ziet er als volgt uit:(details: object, callback?: function) => {...}
- details
voorwerp
Welke instelling moet worden gewist.
- domein
ChromeSettingScope optioneel
Waar u de instelling kunt wissen (standaard: normaal).
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:() => void
- retourneert
Beloof <nietig>
Chroom 96+Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.
- krijgen
leegte
BelofteHaalt de waarde van een instelling op.
De
get
functie ziet er als volgt uit:(details: object, callback?: function) => {...}
- details
voorwerp
Welke instelling u moet overwegen.
- incognito
Booleaans optioneel
Of de waarde moet worden geretourneerd die van toepassing is op de incognitosessie (standaard false).
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:(details: object) => void
- details
voorwerp
Details van de huidige effectieve waarde.
- incognitoSpecifiek
Booleaans optioneel
Of de effectieve waarde specifiek is voor de incognitosessie. Deze eigenschap is alleen aanwezig als de
incognito
eigenschap in dedetails
vanget()
waar was. - niveauVanControl
Het controleniveau van de instelling.
- waarde
T
De waarde van de instelling.
- retourneert
Beloof<object>
Chroom 96+Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.
- set
leegte
BelofteStelt de waarde van een instelling in.
De
set
functie ziet er als volgt uit:(details: object, callback?: function) => {...}
- details
voorwerp
Welke instelling u wilt 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.
- terugbellen
functie optioneel
De
callback
parameter ziet er als volgt uit:() => void
- retourneert
Beloof <nietig>
Chroom 96+Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.
ChromeSettingScope
Het bereik 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 (niet overgenomen door het incognitoprofiel), -
incognito\_persistent
: instelling voor het incognitoprofiel dat het opnieuw opstarten van de browser overleeft (overschrijft de reguliere voorkeuren), -
incognito\_session\_only
: instelling voor het incognitoprofiel dat alleen kan worden ingesteld tijdens een incognitosessie en wordt verwijderd wanneer de incognitosessie eindigt (overschrijft de reguliere en incognito_persistent voorkeuren).
Enum
"normaal" "normaal_alleen" "incognito_persistent" "incognito_session_only"
LevelOfControl
Een van
-
not\_controllable
: kan door geen enkele extensie worden beheerd -
controlled\_by\_other\_extensions
: beheerd door extensies met hogere prioriteit -
controllable\_by\_this\_extension
: kan worden bestuurd door deze extensie -
controlled\_by\_this\_extension
: beheerd door deze extensie
Enum
"niet_controleerbaar" "gecontroleerd_door_andere_extensies" "controleerbaar_door_deze_extensie" "gecontroleerd_door_deze_extensie"