chrome.types

Opis

Interfejs API chrome.types zawiera deklaracje typu dla Chrome.

Ustawienia przeglądarki Chrome

Typ ChromeSetting zapewnia 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ć ustawienia regular. 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ć ustawienia regular i incognito_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.

  1. Ustawienia systemu określone przez system operacyjny
  2. Parametry wiersza poleceń
  3. Ustawienia zapewniane przez rozszerzenia
  4. 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 wspominaliś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

        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 96 lub nowszy

      Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.

  • 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 parametrze details parametru get() miała wartość prawda.

        • levelOfControl

          Poziom kontroli nad ustawieniem.

        • wartość

          T

          Wartość ustawienia.

    • returns

      Promise&lt;object&gt;

      Chrome 96 lub nowszy

      Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.

  • 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

        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 96 lub nowszy

      Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.

ChromeSettingScope

Chrome w wersji 44 lub nowszej

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

Chrome w wersji 44 lub nowszej

Jedno z tej listy:

  • not\_controllable: nie można sterować 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: zarządzane przez to rozszerzenie

Typ wyliczeniowy

"not_controllable"

&quot;controlled_by_other_extensions&quot;

&quot;controllable_by_this_extension&quot;

&quot;controlled_by_this_extension&quot;