хром.типы

Описание

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) , эти настройки действуют только для окон в режиме инкогнито. В обычных окнах используются настройки, определяемые нижними уровнями (параметрами командной строки и системными настройками).
  • Если установлены параметры (R) и (I) , то для обычного и инкогнито-режимов используются соответствующие настройки.

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

Эффективное значение параметра — это значение, полученное с учетом правил приоритета. Оно используется браузером Chrome.

Типы

ChromeSetting

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

Характеристики

  • onChange

    Событие<functionvoidvoid>

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

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

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

    • перезвонить

      функция

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

      (details: object) => void

      • подробности

        объект

        • инкогнитоСпецифический

          логический необязательный

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

        • уровень контроля

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

        • ценить

          Т

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

  • прозрачный

    пустота

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

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

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

    • подробности

      объект

      Какую настройку нужно сбросить?

      • объем

        ChromeSettingScope ( необязательно)

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

    • возвраты

      Обещание<пустота>

      Chrome 96+

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

  • получать

    пустота

    Получает значение параметра.

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

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

    • подробности

      объект

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

      • инкогнито

        логический необязательный

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

    • возвраты

      Promise<object>

      Chrome 96+
  • набор

    пустота

    Устанавливает значение параметра.

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

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

    • подробности

      объект

      Какую настройку нужно изменить?

      • объем

        ChromeSettingScope ( необязательно)

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

      • ценить

        Т

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

    • возвраты

      Обещание<пустота>

      Chrome 96+

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

ChromeSettingScope

Chrome 44+

Область действия параметра ChromeSetting. Один из

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

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

"обычный"

"regular_only"

"incognito_persistent"

"incognito_session_only"

LevelOfControl

Chrome 44+

Один из

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

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

"не_контролируемый"

"controlled_by_other_extensions"

"управляемый_этим_расширением"

"контролируется_этим_расширением"