chrome.types

更新日: 2026-09-25 robots: noindex

説明

chrome.types API には、Chrome の型宣言が含まれています。

Chromeの設定

ChromeSetting プロトタイプは、Chrome ブラウザの設定用の共通の関数セット(get()、set()、clear())とイベント パブリッシャー(onChange)を提供します。プロキシ設定の例は、これらの関数の使用方法を示しています。

スコープとライフサイクル

Chrome では、ブラウザ設定の 3 つの異なるスコープが区別されます。

regular
regular スコープで設定された設定は、通常のブラウザ ウィンドウに適用され、上書きされない場合はシークレット ウィンドウに継承されます。これらの設定はディスクに保存され、管理拡張機能によってクリアされるか、管理拡張機能が無効化またはアンインストールされるまで保持されます。
incognito_persistent
incognito_persistent スコープで設定された設定は、シークレット ウィンドウにのみ適用されます。これらは regular の設定をオーバーライドします。これらの設定はディスクに保存され、管理対象の拡張機能によって消去されるか、管理対象の拡張機能が無効化またはアンインストールされるまで保持されます。
incognito_session_only
incognito_session_only スコープで設定された設定は、シークレット ウィンドウにのみ適用されます。これらの場合、regular と incognito_persistent の設定がオーバーライドされます。これらの設定はディスクに保存されず、最後のシークレット ウィンドウが閉じられると消去されます。これらは、シークレット ウィンドウが 1 つ以上開いている場合にのみ設定できます。

優先度

Chrome では、設定が複数のレイヤで管理されます。次のリストは、有効な設定に影響する可能性のあるレイヤを優先度の低い順に示しています。

  1. オペレーティング システムが提供するシステム設定
  2. コマンドラインのパラメータ
  3. 拡張機能によって提供される設定
  4. ポリシー

このリストが示すように、ポリシーは拡張機能で指定した変更よりも優先される場合があります。get() 関数を使用すると、拡張機能が設定を提供できるかどうか、またはこの設定がオーバーライドされるかどうかを判断できます。

前述のように、Chrome では通常のウィンドウとシークレット ウィンドウで異なる設定を使用できます。次の例は、この動作を示しています。ポリシーが設定をオーバーライドせず、拡張機能が通常のウィンドウ(R)の設定とシークレット ウィンドウ(I)の設定を設定できるとします。

  • (R)のみが設定されている場合、これらの設定は通常のウィンドウとシークレット ウィンドウの両方に適用されます。
  • (I)のみが設定されている場合、これらの設定はシークレット ウィンドウにのみ有効です。通常のウィンドウでは、下位レイヤ(コマンドライン オプションとシステム設定)で決定された設定が使用されます。
  • (R) と (I) の両方が設定されている場合、通常のウィンドウとシークレット ウィンドウにそれぞれ対応する設定が使用されます。

2 つ以上の拡張機能が同じ設定を異なる値に設定しようとした場合、最後にインストールされた拡張機能が他の拡張機能よりも優先されます。最後にインストールされた拡張機能が (I)のみを設定している場合、通常のウィンドウの設定は、以前にインストールされた拡張機能によって定義できます。

設定の有効な値は、優先度ルールを考慮した結果の値です。Chrome で使用されます。

型

ChromeSetting

Chrome ブラウザの設定にアクセスできるようにするインターフェース。例については、accessibilityFeatures をご覧ください。

プロパティ

  • onChange

    イベント<functionvoidvoid>

    設定の変更後に呼び出されます。

    onChange.addListener 関数は次のようになります。

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

    • callback

      関数

      callback パラメータは次のようになります。

      (details: object) => void

      • 詳細

        オブジェクト

        • incognitoSpecific

          boolean 省略可

          変更された値がシークレット モード セッションに固有のものかどうか。このプロパティは、ユーザーがシークレット モードで拡張機能を有効にしている場合にのみ存在します。

        • levelOfControl

          設定の制御レベル。

        • 値

          T

          変更後の設定の値。

  • 消去

    void

    Promise

    設定をクリアして、デフォルト値を復元します。

    clear 関数は次のようになります。

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

    • 詳細

      オブジェクト

      消去する設定。

      • スコープ

        設定をクリアする場所(デフォルト: regular)。

    • callback

      function 省略可

      callback パラメータは次のようになります。

      () => void

    • 戻り値

      Promise<void>

      Chrome 96 以降

      クリア オペレーションの完了時に呼び出されます。

      Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

  • get

    void

    Promise

    設定の値を取得します。

    get 関数は次のようになります。

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

    • 詳細

      オブジェクト

      検討すべき設定。

      • シークレット

        boolean 省略可

        シークレット モード セッションに適用される値を返すかどうか(デフォルトは false)。

    • callback

      function 省略可

      callback パラメータは次のようになります。

      (details: object) => void

      • 詳細

        オブジェクト

        現在有効な値の詳細。

        • incognitoSpecific

          boolean 省略可

          有効な値がシークレット モード セッションに固有かどうか。 このプロパティは、get() の details パラメータの incognito プロパティが true の場合にのみ存在します。

        • levelOfControl

          設定の制御レベル。

        • 値

          T

          設定の値。

    • 戻り値

      Promise<object>

      Chrome 96 以降

      Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

  • set

    void

    Promise

    設定の値を設定します。

    set 関数は次のようになります。

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

    • 詳細

      オブジェクト

      変更する設定。

      • スコープ

        設定を適用する場所(デフォルト: regular)。

      • 値

        T

        設定の値。各設定には特定の値タイプがあり、設定とともに記述されています。拡張機能は、異なる型の値を設定すべきではありません。

    • callback

      function 省略可

      callback パラメータは次のようになります。

      () => void

    • 戻り値

      Promise<void>

      Chrome 96 以降

      設定オペレーションの完了時に呼び出されます。

      Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

ChromeSettingScope

Chrome 44 以降

ChromeSetting のスコープ。次のいずれか 1 つ:

  • regular: 通常のプロファイルの設定(他の場所でオーバーライドされていない場合は、シークレット プロファイルに継承されます)。
  • regular\_only: 通常のプロファイルのみの設定(シークレット プロファイルには継承されません)。
  • incognito\_persistent: ブラウザの再起動後も保持されるシークレット プロファイルの設定(通常の設定をオーバーライドします)。
  • incognito\_session\_only: シークレット モード セッション中にのみ設定でき、シークレット モード セッションが終了すると削除されるシークレット プロファイルの設定(通常の preference と incognito_persistent preference をオーバーライドします)。

列挙型

"regular"

"regular_only"

"incognito_persistent"

"incognito_session_only"

LevelOfControl

Chrome 44 以降

次のいずれか 1 つ:

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