Beschrijving
De chrome.types API bevat typedeclaraties voor Chrome.
Chrome-instellingen
Het type ChromeSetting biedt een algemene set functies (get(), set() en clear()) en een gebeurtenisuitgever (onChange) voor instellingen van de Chrome-browser. De voorbeelden van proxyinstellingen laten zien hoe deze functies moeten worden gebruikt.
Bereik en levenscyclus
Chrome maakt onderscheid tussen 3 verschillende bereiken van browserinstellingen:
regular- Instellingen die zijn ingesteld in het bereik
regular, zijn van toepassing op normale browservensters en worden overgenomen door incognitovensters als ze niet worden overschreven. Deze instellingen worden opgeslagen op de schijf en blijven daar staan totdat ze worden gewist door de beherende extensie of totdat de beherende extensie wordt uitgezet of verwijderd. incognito_persistent- Instellingen die zijn ingesteld in het bereik
incognito_persistentzijn alleen van toepassing op incognitovensters. Voor deze overschrijven ze de instellingen vanregular. Deze instellingen worden opgeslagen op de schijf en blijven van kracht totdat ze worden gewist door de beherende extensie of totdat de beherende extensie wordt uitgezet of verwijderd. incognito_session_only- Instellingen die zijn ingesteld in het bereik
incognito_session_onlyzijn alleen van toepassing op incognitovensters. Voor deze instellingen overschrijven ze de instellingen vanregularenincognito_persistent. Deze instellingen worden niet opgeslagen op de schijf en worden gewist als het laatste incognitovenster wordt gesloten. Je kunt deze alleen instellen als er minstens één incognitovenster is geopend.
Prioriteit
Chrome beheert instellingen op verschillende lagen. In de volgende lijst staan de lagen die de effectieve instellingen kunnen beïnvloeden, in oplopende volgorde van prioriteit.
- Systeeminstellingen die worden geleverd door het besturingssysteem
- Parameters voor de opdrachtregel
- Instellingen die worden geleverd door extensies
- Beleid
Zoals de lijst aangeeft, kunnen beleidsregels wijzigingen overschrijven die je met je extensie opgeeft. Je kunt de functie get() gebruiken om te bepalen of je extensie een instelling kan bieden of dat deze instelling wordt overschreven.
Zoals eerder besproken, kun je in Chrome verschillende instellingen gebruiken voor normale vensters en incognitovensters. In het volgende voorbeeld wordt dit gedrag geïllustreerd. We gaan ervan uit dat geen enkel beleid de instellingen overschrijft en dat een extensie instellingen kan instellen voor normale vensters (R) en instellingen voor incognitovensters (I).
- Als alleen (R) is ingesteld, gelden deze instellingen voor zowel normale als incognitovensters.
- Als alleen (I) is ingesteld, gelden deze instellingen alleen voor incognitovensters. Normale vensters gebruiken de instellingen die worden bepaald door de lagere lagen (opdrachtregelopties en systeeminstellingen).
- Als zowel (R) als (I) zijn ingesteld, worden de respectieve instellingen gebruikt voor normale en incognitovensters.
Als 2 of meer extensies dezelfde instelling willen instellen op verschillende waarden, krijgt 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 normale vensters worden gedefinieerd door eerder geïnstalleerde extensies.
De effectieve waarde van een instelling is de waarde die het resultaat is van de voorrangsregels. Het wordt gebruikt door Chrome.
Typen
ChromeSetting
Een interface die toegang geeft tot een browserinstelling van Chrome. Bekijk accessibilityFeatures voor een voorbeeld.
Eigenschappen
-
onChange
Event<functionvoidvoid>
Wordt geactiveerd nadat de instelling is gewijzigd.
De functie
onChange.addListenerziet er zo uit:(callback: function) => {...}
-
callback
functie
De parameter
callbackziet er zo uit:(details: object) => void
-
details
object
-
incognitoSpecific
booleaans optioneel
Of de gewijzigde waarde specifiek is voor de incognitosessie. Deze property is alleen aanwezig als de gebruiker de extensie heeft aangezet in de incognitomodus.
-
levelOfControl
Het controleniveau van de instelling.
-
waarde
D
De waarde van de instelling na de wijziging.
-
-
-
-
wissen
ongeldig
Hiermee wordt de instelling gewist en wordt de standaardwaarde hersteld.
De functie
clearziet er zo uit:(details: object) => {...}
-
details
object
Welke instelling je wilt wissen.
-
bereik
ChromeSettingScope optioneel
Waar de instelling moet worden gewist (standaard: normaal).
-
-
returns
Promise<void>
Chrome 96+ browser.* sinds Chrome 148Wordt aangeroepen als de bewerking voor wissen is afgerond.
-
-
get
ongeldig
Haalt de waarde van een instelling op.
De functie
getziet er zo uit:(details: object) => {...}
-
details
object
Welke instelling je kunt overwegen.
-
incognito
booleaans optioneel
Of de waarde die van toepassing is op de incognitosessie moet worden geretourneerd (standaard onwaar).
-
-
returns
Promise<object>
Chrome 96+ browser.* sinds Chrome 148
-
-
set
ongeldig
Stelt de waarde van een instelling in.
De functie
setziet er zo uit:(details: object) => {...}
-
details
object
Welke instelling je wilt wijzigen.
-
bereik
ChromeSettingScope optioneel
Waar je de instelling instelt (standaard: normaal).
-
waarde
D
De waarde van de instelling. Elke instelling heeft een specifiek waardetype, dat samen met de instelling wordt beschreven. Een extensie mag geen waarde van een ander type instellen.
-
-
returns
Promise<void>
Chrome 96+ browser.* sinds Chrome 148Wordt aangeroepen als de instelbewerking is afgerond.
-
ChromeSettingScope
Het bereik van de ChromeSetting. Een van
regular: instelling voor het normale profiel (die wordt overgenomen door het incognitoprofiel als deze niet ergens anders wordt overschreven),regular\_only: instelling alleen voor het normale profiel (niet overgenomen door het incognitoprofiel),incognito\_persistent: instelling voor het incognitoprofiel die blijft bestaan nadat de browser opnieuw is opgestart (overschrijft normale voorkeuren),incognito\_session\_only: instelling voor het incognitoprofiel die alleen kan worden ingesteld tijdens een incognitosessie en wordt verwijderd als de incognitosessie wordt beëindigd (overschrijft de voorkeuren regular en incognito_persistent).
Enum
"regular"
"regular_only"
"incognito_persistent"
"incognito_session_only"
LevelOfControl
Een van
not\_controllable: kan niet worden beheerd door een extensiecontrolled\_by\_other\_extensions: beheerd door extensies met een hogere prioriteitcontrollable\_by\_this\_extension: kan worden beheerd door deze extensiecontrolled\_by\_this\_extension: beheerd door deze extensie
Enum
"not_controllable"
"controlled_by_other_extensions"
"controllable_by_this_extension"
"controlled_by_this_extension"