хром.типы

Описание

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, callback?: function) => {...}

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

      объект

      Какую настройку очистить.

      • объем

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

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

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

      функция необязательна

      Параметр callback выглядит так:

      () => void

    • возвращает

      Обещание<void>

      Хром 96+

      Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

  • получать

    пустота

    Обещать

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

    Функция get выглядит так:

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

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

      объект

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

      • инкогнито

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

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

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

      функция необязательна

      Параметр callback выглядит так:

      (details: object) => void

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

        объект

        Подробная информация о текущем действующем значении.

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

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

          Является ли эффективное значение специфичным для сеанса в режиме инкогнито. Это свойство будет присутствовать только в том случае, если свойство incognito в details параметре get() было истинным.

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

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

        • ценить

          Т

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

    • возвращает

      Обещание<объект>

      Хром 96+

      Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

  • набор

    пустота

    Обещать

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

    Функция set выглядит так:

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

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

      объект

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

      • объем

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

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

      • ценить

        Т

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

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

      функция необязательна

      Параметр callback выглядит так:

      () => void

    • возвращает

      Обещание<void>

      Хром 96+

      Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

ChromeSettingScope

Хром 44+

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

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

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

"обычный"

"обычный_только"

"инкогнито_персистент"

"incognito_session_only"

LevelOfControl

Хром 44+

Один из

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

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

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

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

"controllable_by_this_extension"

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