Beschrijving
De chrome.types API bevat typedeclaraties voor Chrome.
Chrome-instellingen
Het ChromeSetting type biedt een algemene set functies ( get() , set() en clear() ) en een gebeurtenispublisher ( onChange ) voor 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 onderscheidt drie verschillende categorieën browserinstellingen:
-
regular - Instellingen die in de
regularmodus zijn ingesteld, gelden voor gewone browservensters en worden overgenomen door incognitovensters, tenzij ze worden overschreven. Deze instellingen worden op de schijf opgeslagen en blijven behouden 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_persistentzijn alleen van toepassing op incognito-vensters. Voor deze vensters hebben ze voorrang opregularinstellingen. Deze instellingen worden opgeslagen op de schijf en blijven behouden 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_onlyzijn alleen van toepassing op incognito-vensters. Voor deze vensters hebben ze voorrang opregularenincognito_persistent-instellingen. Deze instellingen worden niet op de schijf opgeslagen en worden gewist wanneer het laatste incognito-venster wordt gesloten. Ze kunnen alleen worden ingesteld wanneer er ten minste één incognito-venster is geopend.
Voorrang
Chrome beheert instellingen op verschillende niveaus. De volgende lijst beschrijft de niveaus die van invloed kunnen zijn op de uiteindelijke instellingen, in oplopende volgorde van prioriteit.
- Systeeminstellingen geleverd door het besturingssysteem
- Opdrachtregelparameters
- Instellingen aangeboden door extensies
- Beleid
Zoals de lijst al aangeeft, kunnen beleidsregels wijzigingen die u met uw extensie doorgeeft, overrulen. 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, biedt Chrome de mogelijkheid om verschillende instellingen te gebruiken voor normale vensters en incognitovensters. Het volgende voorbeeld illustreert dit gedrag. Stel dat er geen beleid is dat de instellingen overschrijft en dat een extensie instellingen kan instellen voor normale vensters (R) en instellingen voor incognitovensters (I) .
- Als alleen (R) is ingesteld, zijn deze instellingen van toepassing op zowel normale als incognito vensters.
- Als alleen (I) is ingesteld, zijn deze instellingen alleen van toepassing op incognito-vensters. Normale vensters gebruiken de instellingen die door de onderliggende lagen worden bepaald (opdrachtregelopties en systeeminstellingen).
- Als zowel (R) als (I) zijn ingesteld, worden de respectievelijke instellingen gebruikt voor normale en incognito vensters.
Als twee of meer extensies dezelfde instelling op verschillende waarden willen instellen, heeft de laatst geïnstalleerde extensie voorrang op de andere extensies. Als de laatst 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 voortvloeit uit het in acht nemen van de voorrangsregels. Deze waarde wordt gebruikt door Chrome.
Soorten
ChromeSetting
Een interface die toegang biedt tot een Chrome-browserinstelling. Zie accessibilityFeatures voor een voorbeeld.
Eigenschappen
- bij wijziging
Event<functionvoidvoid>
Geactiveerd na de instellingswijzigingen.
De functie
onChange.addListenerziet er als volgt uit:(callback: function) => {...}
- terugbelverzoek
functie
De
callbackparameter ziet er als volgt uit:(details: object) => void
- details
voorwerp
- incognitoSpecifiek
boolean optioneel
Of de gewijzigde waarde specifiek is voor de incognito-sessie. Deze eigenschap is alleen aanwezig als de gebruiker de extensie in de incognito-modus heeft ingeschakeld.
- niveauVanControl
De mate van controle over de instelling.
- waarde
T
De waarde van de instelling na de wijziging.
- duidelijk
leegte
Hiermee worden de instellingen gewist en de standaardwaarden hersteld.
De
clearziet er als volgt uit:(details: object) => {...}
- details
voorwerp
Welke instelling moet ik wissen?
- domein
ChromeSettingScope optioneel
Waar de instelling te wissen (standaard: normaal).
- retourneert
Promise<void>
Chrome 96+Wordt opgeroepen na voltooiing van de opruimactie.
- krijgen
leegte
Geeft de waarde van een instelling weer.
De
get-functie ziet er als volgt uit:(details: object) => {...}
- details
voorwerp
Welke setting moet je overwegen?
- incognito
boolean optioneel
Of de waarde die van toepassing is op de incognito-sessie moet worden geretourneerd (standaard false).
- retourneert
Promise<object>
Chrome 96+
- set
leegte
Hiermee wordt de waarde van een instelling ingesteld.
De
setziet er als volgt uit:(details: object) => {...}
- details
voorwerp
Welke instelling moet ik wijzigen?
- domein
ChromeSettingScope optioneel
Waar moet de instelling worden ingesteld (standaard: normaal).
- waarde
T
De waarde van de instelling. Merk op dat elke instelling een specifiek waardetype heeft, dat samen met de instelling wordt beschreven. Een extensie mag geen waarde van een ander type instellen.
- retourneert
Promise<void>
Chrome 96+Wordt opgeroepen na voltooiing van de ingestelde handeling.
ChromeSettingScope
Het bereik van de ChromeSetting. Een van de
-
regular: instelling voor het reguliere profiel (die wordt overgenomen door het incognito-profiel als deze niet elders wordt overschreven), -
regular\_only: instelling alleen voor het normale profiel (wordt niet overgenomen door het incognito-profiel), -
incognito\_persistent: instelling voor het incognito-profiel dat behouden blijft na het herstarten van de browser (overschrijft de normale voorkeuren), -
incognito\_session\_only: instelling voor het incognito-profiel die alleen tijdens een incognito-sessie kan worden ingesteld en wordt verwijderd wanneer de incognito-sessie eindigt (overschrijft de reguliere en incognito_persistent voorkeuren).
Enum
"normaal" "alleen-regulier" "incognito_persistent" "alleen incognito-sessie"
LevelOfControl
Een van
-
not\_controllable: kan door geen enkele extensie worden bestuurd. -
controlled\_by\_other\_extensions: gecontroleerd door extensies met een 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" "controleerbaar_door_deze_extensie" "gecontroleerd door deze extensie"