chrome.types

refresh date: 2026-09-25 robots: noindex

Описание

API chrome.types содержит объявления типов для Chrome.

Настройки Chrome

Прототип ChromeSetting предоставляет общий набор функций (get(), set() и clear()), а также издателя событий (onChange) для настроек браузера Chrome. Примеры настроек прокси-сервера демонстрируют, как использовать эти функции.

Область действия и жизненный цикл

В Chrome различаются три области действия настроек браузера:

regular
Настройки, заданные в области действия regular, применяются к обычным окнам браузера и наследуются окнами инкогнито, если не перезаписаны. Эти настройки хранятся на диске и остаются в силе до тех пор, пока они не будут очищены управляющим расширением или пока оно не будет отключено или удалено.
incognito_persistent
Настройки, заданные в области действия incognito_persistent, применяются только к окнам инкогнито. В этом случае они переопределяют настройки regular. Эти настройки сохраняются на диске и действуют до тех пор, пока не будут удалены управляющим расширением или пока оно не будет отключено или удалено.
incognito_session_only
Настройки, заданные в области действия incognito_session_only, применяются только к окнам инкогнито. В этом случае они переопределяют настройки regular и incognito_persistent. Эти настройки не сохраняются на диске и удаляются после закрытия последнего окна инкогнито. Их можно задать, только если открыто хотя бы одно окно инкогнито.

Приоритет

В Chrome настройки управляются на разных уровнях. Ниже перечислены уровни, которые могут влиять на действующие настройки, в порядке возрастания приоритета.

  1. Системные настройки, предоставляемые операционной системой.
  2. Параметры командной строки
  3. Настройки, заданные расширениями
  4. Правила

Как видно из списка, правила могут отменять любые изменения, заданные расширением. Чтобы определить, может ли расширение задать настройку или она будет переопределена, используйте функцию get().

Как уже говорилось, в Chrome можно задать разные настройки для обычных окон и окон инкогнито. Пример: Предположим, что никакие правила не переопределяют настройки и расширение может задавать настройки для обычных окон (О) и окон инкогнито (И).

  • Если задано только значение (R), эти настройки действуют как для обычных окон, так и для окон инкогнито.
  • Если задано только значение (I), настройки действуют только для окон инкогнито. Для обычных окон используются настройки, заданные на нижних уровнях (параметры командной строки и системные настройки).
  • Если заданы оба значения (R и I), то соответствующие настройки используются для обычных окон и окон инкогнито.

Если два или более расширений пытаются задать разные значения для одного и того же параметра, приоритет отдается расширению, установленному последним. Если последнее установленное расширение задает только (I), настройки обычных окон могут определяться ранее установленными расширениями.

Действующее значение настройки – это значение, которое применяется в соответствии с правилами приоритета. Он используется браузером Chrome.

Типы

ChromeSetting

Интерфейс, позволяющий получить доступ к настройкам браузера Chrome. Пример см. в описании типа accessibilityFeatures.

Свойства

  • onChange

    Event<functionvoidvoid>

    Срабатывает после изменения настроек.

    Функция onChange.addListener выглядит следующим образом:

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

    • обратный вызов

      function

      Параметр callback выглядит следующим образом:

      (details: object) => void

      • подробные сведения

        Объект

        • incognitoSpecific

          Логическое значение (необязательно)

          Относится ли измененное значение к сеансу инкогнито. Это свойство будет присутствовать, только если пользователь включил расширение в режиме инкогнито.

        • levelOfControl

          Уровень контроля над настройкой.

        • value

          T

          Значение настройки после изменения.

  • очистить

    void

    Promise

    Очищает настройку, восстанавливая значение по умолчанию.

    Функция clear выглядит следующим образом:

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

    • подробные сведения

      Объект

      Настройка, которую нужно удалить.

      • область действия

        ChromeSettingScope необязательный

        Где очистить настройку (по умолчанию: обычная).

    • обратный вызов

      function необязательно

      Параметр callback выглядит следующим образом:

      () => void

    • Возвращает

      Promise<void>

      Chrome 96 и более поздних версий;

      Вызывается по завершении операции очистки.

      Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

  • get

    void

    Promise

    Получает значение настройки.

    Функция get выглядит следующим образом:

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

    • подробные сведения

      Объект

      Какие настройки следует учитывать.

      • инкогнито

        Логическое значение (необязательно)

        Возвращать ли значение, которое применяется к сеансу инкогнито (по умолчанию – false).

    • обратный вызов

      function необязательно

      Параметр callback выглядит следующим образом:

      (details: object) => void

      • подробные сведения

        Объект

        Сведения о текущем действующем значении.

        • incognitoSpecific

          Логическое значение (необязательно)

          Определяет, относится ли действующее значение к сеансу инкогнито. Это свойство будет присутствовать, только если свойство incognito в параметре details метода get() имело значение true.

        • levelOfControl

          Уровень контроля над настройкой.

        • value

          T

          Значение настройки.

    • Возвращает

      Promise<object>

      Chrome 96 и более поздних версий;

      Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

  • set

    void

    Promise

    Задает значение настройки.

    Функция set выглядит следующим образом:

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

    • подробные сведения

      Объект

      какие настройки нужно изменить;

      • область действия

        ChromeSettingScope необязательный

        Где задать настройку (по умолчанию: обычная).

      • value

        T

        Значение настройки. Обратите внимание, что у каждой настройки есть определенный тип значения, который описан вместе с ней. Расширение не должно задавать значение другого типа.

    • обратный вызов

      function необязательно

      Параметр callback выглядит следующим образом:

      () => void

    • Возвращает

      Promise<void>

      Chrome 96 и более поздних версий;

      Вызывается по завершении операции set.

      Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

ChromeSettingScope

Chrome 44 и более поздних версий;

Область действия ChromeSetting. Любое из перечисленных:

  • regular – настройка для обычного профиля (которая наследуется профилем инкогнито, если не переопределена в другом месте);
  • regular\_only – настройка только для обычного профиля (не наследуется профилем инкогнито);
  • incognito\_persistent – настройка для профиля инкогнито, которая сохраняется после перезапуска браузера (переопределяет обычные настройки);
  • incognito\_session\_only – настройка для профиля инкогнито, которую можно задать только во время сеанса инкогнито и которая удаляется по его окончании (переопределяет настройки regular и incognito_persistent).

Перечисление

"regular"

"regular_only"

"incognito_persistent"

"incognito_session_only"

LevelOfControl

Chrome 44 и более поздних версий;

Любое из перечисленных:

  • not\_controllable: не может управляться расширениями.
  • controlled\_by\_other\_extensions: управляется расширениями с более высоким приоритетом
  • controllable\_by\_this\_extension: может управляться этим расширением
  • controlled\_by\_this\_extension: управляется этим расширением

Перечисление

"not_controllable"

"controlled_by_other_extensions"

"controllable_by_this_extension"

"controlled_by_this_extension"