chrome.types

Opis

Interfejs chrome.types API zawiera deklaracje typów dla Chrome.

Ustawienia przeglądarki Chrome

Typ ChromeSetting udostępnia wspólny zestaw funkcji (get(), set()clear()), a także 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 regular mają 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_persistent zakresie mają zastosowanie tylko do okien incognito. W takim przypadku zastępują one ustawienia regular. 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_only zakresie mają zastosowanie tylko do okien incognito. W przypadku tych ustawień zastępują one ustawienia regularincognito_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.

  1. Ustawienia systemowe udostępniane przez system operacyjny
  2. Parametry wiersza poleceń
  3. Ustawienia udostępniane przez rozszerzenia
  4. 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 wcześniej, 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

  • onChange

    Event<functionvoidvoid>

    Wywoływane po zmianie ustawienia.

    Funkcja onChange.addListener wygląda tak:

    (callback: function) => {...}

    • callback

      funkcja

      Parametr callback wygląda tak:

      (details: object) => void

      • szczegóły

        obiekt

        • incognitoSpecific

          wartość 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.

        • levelOfControl

          Poziom kontroli nad ustawieniem.

        • wartość

          T

          Wartość ustawienia po zmianie.

  • wyczyść

    pusty

    Wyczyść ustawienie, przywracając dowolną wartość domyślną.

    Funkcja clear wygląda tak:

    (details: object) => {...}

    • szczegóły

      obiekt

      Które ustawienie wyczyścić.

      • zakres

        ChromeSettingScope opcjonalny

        Miejsce, w którym można wyczyścić ustawienie (domyślnie: regularne).

    • returns

      Promise<void>

      Chrome w wersji 96 lub nowszej
  • get

    pusty

    Pobiera wartość ustawienia.

    Funkcja get wygląda tak:

    (details: object) => {...}

    • szczegóły

      obiekt

      Które ustawienie warto rozważyć.

      • incognito

        wartość logiczna opcjonalna

        Określa, czy zwrócić wartość, która ma zastosowanie do sesji incognito (domyślnie false).

    • returns

      Promise<object>

      Chrome w wersji 96 lub nowszej
  • zestaw

    pusty

    Ustawia wartość ustawienia.

    Funkcja set wygląda tak:

    (details: object) => {...}

    • szczegóły

      obiekt

      które ustawienie chcesz zmienić;

      • zakres

        ChromeSettingScope 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.

    • returns

      Promise<void>

      Chrome w wersji 96 lub nowszej

ChromeSettingScope

Chrome 44 lub nowszy

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

Chrome 44 lub nowszy

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"