Opis
Interfejs API chrome.types
zawiera deklaracje typów dla Chrome.
Ustawienia przeglądarki Chrome
Prototyp ChromeSetting
zawiera wspólny zestaw funkcji (get()
, set()
i clear()
)
oraz wydawcę wydarzenia (onChange
) w ustawieniach przeglądarki Chrome. W sekcji Ustawienia serwera proxy
pokazują przeznaczenie tych funkcji.
Zakres i cykl życia
Chrome rozróżnia 3 różne zakresy ustawień przeglądarki:
regular
- Ustawienia skonfigurowane w zakresie
regular
dotyczą zwykłych okien przeglądarki i są dziedziczone przez tryb incognito , jeśli nie zostaną zastąpione. Te ustawienia są zapisywane na dysku i pozostają dostępne do czasu są usuwane przez rozszerzenie zarządzające albo to rozszerzenie jest wyłączone lub odinstalowane. incognito_persistent
- Ustawienia skonfigurowane w zakresie
incognito_persistent
dotyczą tylko okien incognito. W ich przypadku zastąpić ustawieniaregular
. Te ustawienia są zapisywane na dysku i pozostaną aktywne, dopóki nie zostaną usunięte przez rozszerzenie zarządzające albo zostało ono wyłączone lub odinstalowane. incognito_session_only
- Ustawienia skonfigurowane w zakresie
incognito_session_only
dotyczą tylko okien incognito. W ich przypadku zastępować ustawieniaregular
iincognito_persistent
. Te ustawienia nie są przechowywane na dysku i są usuwane po zamknięciu ostatniego okna incognito. Można je ustawić tylko wtedy, gdy co najmniej jeden Otwarte jest okno incognito.
Pierwszeństwo
Chrome zarządza ustawieniami w różnych warstwach. Poniższa lista opisuje warstwy, które mogą wpływa na obowiązujące ustawienia w coraz większej kolejności.
- Ustawienia systemu określone przez system operacyjny
- Parametry wiersza poleceń
- Ustawienia zapewniane przez rozszerzenia
- Zasady
Jak można wywnioskować z listy, zasady mogą zastępować wszelkie zmiany wprowadzone w rozszerzeniu. Ty
może użyć funkcji get()
, aby określić, czy rozszerzenie może udostępniać ustawienia
oraz o tym, czy to ustawienie zostanie zastąpione.
Jak wspomnieliśmy wcześniej, Chrome pozwala na używanie różnych ustawień w zwykłych oknach i trybie incognito. oknach. Działanie to obrazuje poniższy przykład. Zakładamy, że żadna zasada nie zastępuje oraz że rozszerzenie może określać ustawienia dla okna zwykłego (R) oraz ustawienia okna incognito (I).
- Jeśli ustawisz tylko (R), ustawienia będą działać zarówno w oknach standardowych, jak i w oknach incognito.
- Jeśli skonfigurujesz tylko (I), ustawienia będą działać tylko w oknach incognito. Zwykłe okna korzysta z ustawień określonych przez niższe warstwy (opcje wiersza poleceń i ustawienia systemu).
- Jeśli ustawisz zarówno (R), jak i (I), odpowiednie ustawienia będą używane w trybie zwykłym i trybie incognito. oknach.
Jeśli co najmniej 2 rozszerzenia chcą ustawić różne wartości tego samego ustawienia, rozszerzenie zainstalowane ma pierwszeństwo przed innymi. Jeśli ostatnio zainstalowane rozszerzenie ustawia tylko (I), ustawienia zwykłych okien można określić przez poprzednio zainstalowane rozszerzeń.
Wartość skuteczna ustawienia to wartość wynikająca z uwzględnienia reguł pierwszeństwa. it jest używana w Chrome.
Typy
ChromeSetting
Interfejs umożliwiający dostęp do ustawień przeglądarki Chrome. Przykład znajdziesz w sekcji accessibilityFeatures
.
Właściwości
-
onChange
Zdarzenie<functionvoid>
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 tylko sesji incognito. Ta właściwość będzie dostępna tylko wtedy, gdy użytkownik włączył rozszerzenie w trybie incognito.
-
levelOfControl
Poziom kontroli nad ustawieniem.
-
wartość
T
Wartość ustawienia po zmianie.
-
-
-
-
wyczyść
nieważne
Obietnica .Usuwa ustawienie i przywraca wartość domyślną.
Funkcja
clear
wygląda tak:(details: object, callback?: function) => {...}
-
szczegóły
Obiekt
Które ustawienie usunąć.
-
zakres
Opcjonalny ChromeSettingScope
Gdzie można wyczyścić ustawienie (domyślnie: zwykłe).
-
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:() => void
-
returns
Obietnica<void>
Chrome w wersji 96 lub nowszej, .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
-
-
get
nieważne
Obietnica .Pobiera wartość ustawienia.
Funkcja
get
wygląda tak:(details: object, callback?: function) => {...}
-
szczegóły
Obiekt
Wybór ustawienia, które należy wziąć pod uwagę.
-
incognito
Wartość logiczna opcjonalna
Określa, czy zwracać wartość dotyczącą sesji incognito (domyślnie false).
-
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(details: object) => void
-
szczegóły
Obiekt
Szczegóły aktualnie obowiązującej wartości.
-
incognitoSpecific
Wartość logiczna opcjonalna
Określa, czy efektywna wartość dotyczy sesji incognito. Ta właściwość będzie dostępna tylko wtedy, gdy właściwość
incognito
w parametrzedetails
parametruget()
miała wartość prawda. -
levelOfControl
Poziom kontroli nad ustawieniem.
-
wartość
T
Wartość ustawienia.
-
-
-
returns
Promise<object>
Chrome w wersji 96 lub nowszej, .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
-
-
zestaw
nieważne
Obietnica .Określa wartość ustawienia.
Funkcja
set
wygląda tak:(details: object, callback?: function) => {...}
-
szczegóły
Obiekt
Które ustawienie chcesz zmienić.
-
zakres
Opcjonalny ChromeSettingScope
Gdzie skonfigurować ustawienie (domyślnie: zwykłe).
-
wartość
T
Wartość ustawienia. Pamiętaj, że każde ustawienie ma określony typ wartości, który został opisany razem z tym ustawieniem. Rozszerzenie nie powinno ustawiać wartości innego typu.
-
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:() => void
-
returns
Obietnica<void>
Chrome w wersji 96 lub nowszej, .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
-
ChromeSettingScope
Zakres ustawienia ChromeSetting. Jedno z tej listy:
regular
: ustawienie zwykłego profilu (odziedziczone przez profil incognito, jeśli nie zostanie zastąpione w innym miejscu);regular\_only
: ustawienie tylko dla profilu zwykłego (nie jest dziedziczone przez profil incognito),incognito\_persistent
: ustawienie profilu incognito, które nie powoduje ponownego uruchomienia przeglądarki (zastępuje standardowe ustawienia),incognito\_session\_only
: ustawienie profilu incognito, które można ustawić tylko podczas sesji incognito i jest usuwane po zakończeniu sesji incognito (zastępuje ustawienia zwykłe i incognito_trwały).
Typ wyliczeniowy
"standardowy"
"regular_only"
"incognito_persistent"
"incognito_session_only"
LevelOfControl
Jedno z tej listy:
not\_controllable
: nie można sterować przez żadne rozszerzeniecontrolled\_by\_other\_extensions
: kontrolowane przez rozszerzenia o wyższym prioryteciecontrollable\_by\_this\_extension
: może być kontrolowane przez to rozszerzeniecontrolled\_by\_this\_extension
: zarządzane przez to rozszerzenie
Typ wyliczeniowy
"not_controllable"
"controlled_by_other_extensions"
"controllable_by_this_extension"
"controlled_by_this_extension"