Opis
Interfejs chrome.types API zawiera deklaracje typów dla Chrome.
Ustawienia przeglądarki Chrome
Prototyp ChromeSetting udostępnia wspólny zestaw funkcji (get(), set() i clear()) oraz wydawcę zdarzeń (onChange) dla ustawień przeglądarki Chrome. W przykładach ustawień serwera proxy pokazujemy, jak należy używać tych funkcji.
Zakres i cykl życia
Chrome rozróżnia 3 zakresy ustawień przeglądarki:
- regular
- Ustawienia skonfigurowane w zakresie regularmają zastosowanie do zwykłych okien przeglądarki i są dziedziczone przez okna incognito, jeśli nie zostaną zastąpione. Te ustawienia są zapisywane na dysku i pozostają aktywne, dopóki nie zostaną wyczyszczone przez rozszerzenie zarządzające lub dopóki rozszerzenie zarządzające nie zostanie wyłączone lub odinstalowane.
- incognito_persistent
- Ustawienia skonfigurowane w incognito_persistentzakresie mają zastosowanie tylko do okien incognito. W takim przypadku zastępują one ustawieniaregular. Te ustawienia są zapisywane na dysku i pozostają w mocy, dopóki nie zostaną wyczyszczone przez rozszerzenie zarządzające lub dopóki rozszerzenie zarządzające nie zostanie wyłączone lub odinstalowane.
- incognito_session_only
- Ustawienia skonfigurowane w incognito_session_onlyzakresie mają zastosowanie tylko do okien incognito. W przypadku tych ustawień zastępują one ustawieniaregulariincognito_persistent. Te ustawienia nie są zapisywane na dysku i są usuwane po zamknięciu ostatniego okna incognito. Można je ustawić tylko wtedy, gdy otwarte jest co najmniej 1 okno incognito.
Pierwszeństwo
Chrome zarządza ustawieniami na różnych warstwach. Poniżej znajdziesz listę warstw, które mogą wpływać na ustawienia, w kolejności rosnącego priorytetu.
- Ustawienia systemowe udostępniane przez system operacyjny
- Parametry wiersza poleceń
- Ustawienia udostępniane przez rozszerzenia
- Zasady
Jak wynika z nazwy, zasady mogą zastępować wszelkie zmiany określone przez rozszerzenie. Za pomocą funkcji get() możesz sprawdzić, czy rozszerzenie może udostępnić ustawienie lub czy to ustawienie zostanie zastąpione.
Jak wspomnieliśmy powyżej, Chrome umożliwia stosowanie różnych ustawień w przypadku zwykłych okien i okien incognito. Poniższy przykład ilustruje to zachowanie. Załóżmy, że żadna zasada nie zastępuje ustawień i że rozszerzenie może ustawiać ustawienia dla zwykłych okien (R) i okien incognito (I).
- Jeśli ustawiona jest tylko wartość (R), te ustawienia obowiązują zarówno w przypadku okien zwykłych, jak i incognito.
- Jeśli ustawiona jest tylko wartość (I), te ustawienia obowiązują tylko w oknach incognito. Zwykłe okna korzystają z ustawień określonych przez niższe warstwy (opcje wiersza poleceń i ustawienia systemowe).
- Jeśli ustawione są zarówno (R), jak i (I), odpowiednie ustawienia są używane w przypadku zwykłych i prywatnych okien.
Jeśli co najmniej 2 rozszerzenia chcą ustawić to samo ustawienie na różne wartości, rozszerzenie zainstalowane najpóźniej ma pierwszeństwo przed innymi rozszerzeniami. Jeśli ostatnio zainstalowane rozszerzenie ustawia tylko (I), ustawienia zwykłych okien mogą być definiowane przez wcześniej zainstalowane rozszerzenia.
Efektywna wartość ustawienia to wartość wynikająca z uwzględnienia reguł pierwszeństwa. Jest używany przez Chrome.
Typy
ChromeSetting
Interfejs umożliwiający dostęp do ustawień przeglądarki Chrome. Przykład znajdziesz w sekcji accessibilityFeatures.
Właściwości
- 
    onChangeEvent<functionvoidvoid> Wywoływane po zmianie ustawienia. Funkcja onChange.addListenerwygląda tak:(callback: function) => {...} - 
    callbackfunkcja Parametr callbackwygląda tak:(details: object) => void - 
    szczegółyobiekt - 
    incognitoSpecificwartość logiczna opcjonalna Czy zmieniona wartość jest specyficzna dla sesji incognito. Ta właściwość będzie występować tylko, jeśli użytkownik włączył rozszerzenie w trybie incognito. 
- 
    levelOfControlPoziom kontroli nad ustawieniem. 
- 
    wartośćT Wartość ustawienia po zmianie. 
 
- 
    
 
- 
    
 
- 
    
- 
    wyczyśćpusty ObietnicaWyczyść ustawienie, przywracając dowolną wartość domyślną. Funkcja clearwygląda tak:(details: object, callback?: function) => {...} - 
    szczegółyobiekt Które ustawienie wyczyścić. - 
    zakresChromeSettingScope opcjonalny Miejsce, w którym można wyczyścić ustawienie (domyślnie: regularne). 
 
- 
    
- 
    callbackfunkcja opcjonalna Parametr callbackwygląda tak:() => void 
 - 
            returnsPromise<void> Chrome w wersji 96 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych. 
 
- 
    
- 
    getpusty ObietnicaPobiera wartość ustawienia. Funkcja getwygląda tak:(details: object, callback?: function) => {...} - 
    szczegółyobiekt Które ustawienie warto rozważyć. - 
    incognitowartość logiczna opcjonalna Określa, czy zwrócić wartość, która ma zastosowanie do sesji incognito (domyślnie false). 
 
- 
    
- 
    callbackfunkcja opcjonalna Parametr callbackwygląda tak:(details: object) => void - 
    szczegółyobiekt Szczegóły aktualnie obowiązującej wartości. - 
    incognitoSpecificwartość logiczna opcjonalna Określa, czy obowiązująca wartość jest specyficzna dla sesji w trybie incognito. Ta właściwość będzie tylko obecna, jeśli właściwość incognitow parametrzedetailselementuget()miała wartość true.
- 
    levelOfControlPoziom kontroli nad ustawieniem. 
- 
    wartośćT Wartość ustawienia. 
 
- 
    
 
- 
    
 - 
            returnsPromise<object> Chrome w wersji 96 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych. 
 
- 
    
- 
    zestawpusty ObietnicaUstawia wartość ustawienia. Funkcja setwygląda tak:(details: object, callback?: function) => {...} - 
    szczegółyobiekt które ustawienie chcesz zmienić; - 
    zakresChromeSettingScope opcjonalny Miejsce, w którym można ustawić to ustawienie (domyślnie: regular). 
- 
    wartośćT Wartość ustawienia. Pamiętaj, że każde ustawienie ma określony typ wartości, który jest opisany razem z ustawieniem. Rozszerzenie nie powinno ustawiać wartości innego typu. 
 
- 
    
- 
    callbackfunkcja opcjonalna Parametr callbackwygląda tak:() => void 
 - 
            returnsPromise<void> Chrome w wersji 96 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych. 
 
- 
    
ChromeSettingScope
Zakres ChromeSetting. Jedno z tej listy:
- regular: ustawienie dla zwykłego profilu (które jest dziedziczone przez profil incognito, jeśli nie zostanie 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óre jest zachowywane po ponownym uruchomieniu przeglądarki (zastępuje zwykłe ustawienia);
- incognito\_session\_only: ustawienie profilu incognito, które można skonfigurować tylko podczas sesji incognito i które jest usuwane po zakończeniu sesji incognito (zastępuje ustawienia regular i incognito_persistent).
Typ wyliczeniowy
„regular” 
 
"regular_only" 
 
„incognito_persistent” 
 
"incognito_session_only" 
 
LevelOfControl
Jedno z tej listy:
- not\_controllable: nie można nim sterować za pomocą żadnego rozszerzenia.
- controlled\_by\_other\_extensions: kontrolowane przez rozszerzenia o wyższym priorytecie.
- controllable\_by\_this\_extension: może być kontrolowana przez to rozszerzenie
- controlled\_by\_this\_extension: kontrolowane przez to rozszerzenie
Typ wyliczeniowy
"not_controllable" 
 
"controlled_by_other_extensions" 
 
"controllable_by_this_extension" 
 
"controlled_by_this_extension"