Opis
Interfejs API chrome.types
zawiera deklaracje typów dla Chrome.
Ustawienia przeglądarki Chrome
Typ ChromeSetting
udostępnia wspólny zestaw funkcji (get()
, set()
i clear()
), a także wydawcę zdarzeń (onChange
) dla ustawień przeglądarki Chrome. Przykłady ustawień serwera proxy pokazują przeznaczenie tych funkcji.
Zakres i cykl życia
Chrome rozróżnia 3 zakresy ustawień przeglądarki:
regular
- Ustawienia ustawione w zakresie
regular
dotyczą zwykłych okien przeglądarki i są dziedziczone przez okna incognito, jeśli nie zostaną zastąpione. Te ustawienia są przechowywane na dysku i pozostają nienaruszone do czasu ich wyczyszczenia przez rozszerzenie zarządzające lub wyłączenia lub odinstalowania rozszerzenia kontrolującego. incognito_persistent
- Ustawienia skonfigurowane w zakresie
incognito_persistent
dotyczą tylko okien incognito. W ich przypadku zastępują one ustawieniaregular
. Te ustawienia są przechowywane na dysku i pozostają bez zmian, dopóki rozszerzenie je wyczyści lub nie zostanie wyłączone bądź odinstalowane. incognito_session_only
- Ustawienia skonfigurowane w zakresie
incognito_session_only
dotyczą tylko okien incognito. Zastępują one ustawieniaregular
iincognito_persistent
. Te ustawienia nie są zapisywane na dysku i są czyszczone po zamknięciu ostatniego okna incognito. Można je skonfigurować tylko wtedy, gdy otwarte jest co najmniej jedno okno incognito.
Pierwszeństwo
Chrome zarządza ustawieniami na różnych warstwach. Na liście poniżej opisujemy warstwy, które mogą wpływać na obowiązujące ustawienia.
- Ustawienia systemu udostępnione przez system operacyjny
- Parametry wiersza poleceń
- Ustawienia podane przez rozszerzenia
- Zasady
Zgodnie z listą zasady mogą zastąpić wszystkie zmiany wprowadzone w rozszerzeniu. Przy użyciu funkcji get()
możesz określić, czy dane ustawienie można skonfigurować w rozszerzeniu lub czy zostanie ono zastąpione.
Jak już wspomnieliśmy, Chrome umożliwia korzystanie z różnych ustawień w zwykłych oknach i oknach incognito. Przykład poniżej pokazuje, jak to działa. Załóżmy, że żadna zasada nie zastępuje ustawień, a rozszerzenie może konfigurować ustawienia zwykłych okien (R) i okien incognito (I).
- Jeśli ustawisz tylko wartość (R), te ustawienia będą działać zarówno w przypadku okien zwykłych, jak i incognito.
- Jeśli wybierzesz tylko (I), te ustawienia będą działać tylko w przypadku okien incognito. Zwykłe okna korzystają z ustawień określonych przez niższe warstwy (opcje wiersza poleceń i ustawienia systemu).
- Jeśli skonfigurowane są zarówno okna (R), jak i (I), w przypadku okien zwykłych i incognito używane są odpowiednie ustawienia.
Jeśli co najmniej 2 rozszerzenia chcą ustawić to samo ustawienie na różne wartości, rozszerzenie zainstalowane jako ostatnie ma pierwszeństwo przed innymi rozszerzeniami. Jeśli zestaw ostatnio zainstalowanych rozszerzeń to (I), ustawienia zwykłych okien mogą być definiowane przez zainstalowane wcześniej rozszerzenia.
Wartość obowiązkowa ustawienia wynika z zastosowania reguł pierwszeństwa. Jest używany przez Chrome.
Typy
ChromeSetting
Interfejs umożliwiający dostęp do ustawień przeglądarki Chrome. Przykład znajdziesz tutaj: accessibilityFeatures
.
Właściwości
-
onChange
Zdarzenie<functionvoidvoid>
Uruchamiane po zmianie ustawienia.
Funkcja
onChange.addListener
wygląda tak:(callback: function) => {...}
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(details: object) => void
-
szczegóły
obiekt
-
incognitoSpecific
wartość logiczna opcjonalna
Określa, czy zmieniona wartość dotyczy sesji incognito. Ta właściwość będzie widoczna tylko wtedy, gdy użytkownik włączył rozszerzenie w trybie incognito.
-
levelOfControl
Poziom kontroli nad ustawieniem.
-
value
T
Wartość ustawienia po zmianie.
-
-
-
-
wyczyść
void
ObietnicaCzyści ustawienie i przywraca wartość domyślną.
Funkcja
clear
wygląda tak:(details: object, callback?: function) => {...}
-
szczegóły
obiekt
Które ustawienie usunąć.
-
zakres
Opcjonalnie ChromeSettingScope
Miejsce usunięcia ustawienia (domyślnie: zwykłe).
-
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:() => void
-
returns
Promise<void>
Chrome 96 i nowsze wersjeObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.
-
-
get
void
ObietnicaPobiera wartość ustawienia.
Funkcja
get
wygląda tak:(details: object, callback?: function) => {...}
-
szczegóły
obiekt
Ustawienie, które należy wziąć pod uwagę.
-
incognito
wartość logiczna opcjonalna
Określa, czy ma być zwracana wartość dotycząca sesji incognito (domyślnie fałsz).
-
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(details: object) => void
-
szczegóły
obiekt
Szczegóły aktualnej wartości.
-
incognitoSpecific
wartość logiczna opcjonalna
Określa, czy wartość efektywna odnosi się tylko do sesji incognito. Ta właściwość będzie dostępna tylko wtedy, gdy właściwość
incognito
w parametrzedetails
parametruget()
ma wartość prawda. -
levelOfControl
Poziom kontroli nad ustawieniem.
-
value
T
Wartość ustawienia.
-
-
-
returns
Promise<object>
Chrome 96 i nowsze wersjeObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.
-
-
Ustaw
void
ObietnicaUstawia wartość ustawienia.
Funkcja
set
wygląda tak:(details: object, callback?: function) => {...}
-
szczegóły
obiekt
Ustawienie, które należy zmienić.
-
zakres
Opcjonalnie ChromeSettingScope
Gdzie ustawić ustawienie (domyślnie: zwykłe).
-
value
T
Wartość ustawienia. Pamiętaj, że każde ustawienie ma określony typ wartości, który jest opisany razem z ustawieniem. Rozszerzenie nie może mieć wartości innego typu.
-
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:() => void
-
returns
Promise<void>
Chrome 96 i nowsze wersjeObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.
-
ChromeSettingScope
Zakres ChromeSetting. Jedno z tej listy:
regular
: ustawienie dla zwykłego profilu (które jest dziedziczone przez profil incognito, jeśli nie zostało zastąpione w innym miejscu),regular\_only
: ustawienie tylko dla zwykłego profilu (nie jest dziedziczone przez profil incognito),incognito\_persistent
: ustawienie profilu incognito, który nie zostanie przywrócony po ponownym uruchomieniu przeglądarki (zastępuje ustawienie zwykłych ustawień),incognito\_session\_only
: ustawienie profilu incognito, które można ustawić tylko podczas sesji incognito, i jest usuwane po jej zakończeniu (zastępuje ustawienia zwykłe i incognito_trwałe).
Enum
"regular_only"
"incognito_persistent"
"incognito_session_only"
LevelOfControl
Jedno z tej listy:
not\_controllable
: nie można nim sterować przez żadne rozszerzeniecontrolled\_by\_other\_extensions
: kontrolowane przez rozszerzenia o wyższym priorytecie,controllable\_by\_this\_extension
: można nimi sterować za pomocą tego rozszerzeniacontrolled\_by\_this\_extension
: kontrolowane przez to rozszerzenie
Enum
"not_controllable"
"controlled_by_other_extensions"
"controllable_by_this_extension"
"controlled_by_this_extension"