chrome.types

refresh date: 2026-09-25 robots: noindex

Opis

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

Ustawienia przeglądarki Chrome

Prototyp ChromeSetting udostępnia wspólny zestaw funkcji (get(), set() i clear()) oraz publikator zdarzeń (onChange) dla ustawień przeglądarki Chrome. Przykłady ustawień serwera proxy pokazują, jak należy używać tych funkcji.

Zakres i cykl życia

Chrome rozróżnia 3 różne 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ą na miejscu, 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 zakresie incognito_persistent dotyczą tylko okien incognito. W takich przypadkach zastępują one ustawienia regular. Te ustawienia są zapisywane na dysku i pozostają na nim, 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 zakresie incognito_session_only dotyczą tylko okien incognito. W takich przypadkach zastępują one ustawienia regular i incognito_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ższa lista zawiera warstwy, które mogą wpływać na obowiązujące ustawienia, w kolejności od najniższego do najwyższego priorytetu.

  1. ustawienia systemowe udostępniane przez system operacyjny,
  2. Parametry wiersza poleceń
  3. Ustawienia udostępniane przez rozszerzenia
  4. Zasady

Jak wynika z listy, zasady mogą zastąpić wszelkie zmiany wprowadzone przez rozszerzenie. Możesz użyć funkcji get(), aby określić, czy rozszerzenie może udostępniać ustawienie, czy też zostanie ono zastąpione.

Jak wspomniano powyżej, Chrome umożliwia korzystanie z 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 określać ustawienia zwykłych okien (Z) i okien incognito (I).

  • Jeśli ustawiona jest tylko zasada (R), te ustawienia obowiązują zarówno w zwykłych oknach, jak i w oknach incognito.
  • Jeśli ustawiona jest tylko zasada (I), te ustawienia obowiązują tylko w oknach incognito. Zwykłe okna używają 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 okien i okien incognito.

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 ostatnio zainstalowane rozszerzenie ustawia tylko (I), ustawienia zwykłych okien mogą być definiowane przez wcześniej zainstalowane rozszerzenia.

Obowiązująca wartość ustawienia to ta, która wynika z uwzględnienia reguł pierwszeństwa. Jest on 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>

    Uruchamiane 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

          boolean opcjonalne

          Czy zmieniona wartość jest specyficzna dla sesji incognito. Ta właściwość będzie obecna tylko wtedy, gdy użytkownik włączy rozszerzenie w trybie incognito.

        • levelOfControl

          Poziom kontroli ustawienia.

        • wartość

          T

          Wartość ustawienia po zmianie.

  • wyczyść

    unieważnienie,

    Obietnica

    Usuwa ustawienie i przywraca wartość domyślną.

    Funkcja clear wygląda tak:

    (details: object, callback?: function) => {...}

    • szczegóły

      obiekt

      Ustawienie, które chcesz wyczyścić.

      • zakres

        ChromeSettingScope opcjonalny

        Gdzie wyczyścić ustawienie (domyślnie: regularne).

    • callback

      function opcjonalne

      Parametr callback wygląda tak:

      () => void

    • returns

      thought Promise<void>

      Chrome 96 lub nowsza wersja

      Wywoływana po zakończeniu operacji czyszczenia.

      Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

  • get

    unieważnienie,

    Obietnica

    Pobiera wartość ustawienia.

    Funkcja get wygląda tak:

    (details: object, callback?: function) => {...}

    • szczegóły

      obiekt

      Jakie ustawienia wybrać.

      • incognito

        boolean opcjonalne

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

    • callback

      function opcjonalne

      Parametr callback wygląda tak:

      (details: object) => void

      • szczegóły

        obiekt

        Szczegóły aktualnie obowiązującej wartości.

        • incognitoSpecific

          boolean opcjonalne

          Określa, czy obowiązująca wartość jest specyficzna dla sesji incognito. Ta właściwość będzie obecna tylko wtedy, gdy właściwość incognito w parametrze details metody get() miała wartość true.

        • levelOfControl

          Poziom kontroli ustawienia.

        • wartość

          T

          Wartość ustawienia.

    • returns

      Promise<object>

      Chrome 96 lub nowsza wersja

      Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

  • zestaw

    unieważnienie,

    Obietnica

    Ustawia wartość ustawienia.

    Funkcja set wygląda tak:

    (details: object, callback?: function) => {...}

    • szczegóły

      obiekt

      które ustawienie chcesz zmienić,

      • zakres

        ChromeSettingScope opcjonalny

        Gdzie ustawić ustawienie (domyślnie: regularne).

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

    • callback

      function opcjonalne

      Parametr callback wygląda tak:

      () => void

    • returns

      thought Promise<void>

      Chrome 96 lub nowsza wersja

      Wywoływana po zakończeniu operacji ustawiania.

      Obiekty Promise są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Na innych platformach należy używać wywołań zwrotnych.

ChromeSettingScope

Chrome 44 lub nowsza wersja

Zakres ustawienia 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 zwykłe i incognito_persistent).

Typ wyliczeniowy

"regular"

"regular_only"

"incognito_persistent"

"incognito_session_only"

LevelOfControl

Chrome 44 lub nowsza wersja

Jedno z tej listy:

  • not\_controllable: nie może być kontrolowane przez żadne rozszerzenie
  • controlled\_by\_other\_extensions: kontrolowane przez rozszerzenia o wyższym priorytecie
  • controllable\_by\_this\_extension: może być kontrolowane 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"