Beschrijving
De chrome.types API bevat typedeclaraties voor Chrome.
Chrome-instellingen
Het ChromeSetting prototype biedt een algemene set functies ( get() , set() en clear() ) en een event publisher ( onChange ) voor het wijzigen van 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 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 hierboven 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
BelofteHiermee worden de instellingen gewist en de standaardwaarden hersteld.
De
clearziet er als volgt uit:(details: object, callback?: function) => {...}
- details
voorwerp
Welke instelling moet ik wissen?
- domein
ChromeSettingScope optioneel
Waar de instelling te wissen (standaard: normaal).
- terugbelverzoek
functie optioneel
De
callbackparameter ziet er als volgt uit:() => void
- retourneert
Promise<void>
Chrome 96+Wordt opgeroepen na voltooiing van de opruimactie.
Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.
- krijgen
leegte
BelofteGeeft de waarde van een instelling weer.
De
get-functie ziet er als volgt uit:(details: object, callback?: function) => {...}
- 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).
- terugbelverzoek
functie optioneel
De
callbackparameter ziet er als volgt uit:(details: object) => void
- details
voorwerp
Details van de huidige geldende waarde.
- incognitoSpecifiek
boolean optioneel
Of de effectieve waarde specifiek is voor de incognito-sessie. Deze eigenschap is alleen aanwezig als de eigenschap
incognitoin de parameterdetailsvan de functieget()waar was. - niveauVanControl
De mate van controle over de instelling.
- waarde
T
De waarde van de instelling.
- retourneert
Promise<object>
Chrome 96+Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.
- set
leegte
BelofteHiermee wordt de waarde van een instelling ingesteld.
De
setziet er als volgt uit:(details: object, callback?: function) => {...}
- 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.
- terugbelverzoek
functie optioneel
De
callbackparameter ziet er als volgt uit:() => void
- retourneert
Promise<void>
Chrome 96+Wordt opgeroepen na voltooiing van de ingestelde handeling.
Promises worden alleen ondersteund voor Manifest V3 en later; voor andere platforms moeten callbacks worden gebruikt.
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"