更新日: 2026-09-25 robots: noindex
説明
chrome.types API には、Chrome の型宣言が含まれています。
Chromeの設定
ChromeSetting プロトタイプは、Chrome ブラウザの設定用の共通の関数セット(get()、set()、clear())とイベント パブリッシャー(onChange)を提供します。プロキシ設定の例は、これらの関数の使用方法を示しています。
スコープとライフサイクル
Chrome では、ブラウザ設定の 3 つの異なるスコープが区別されます。
regularregularスコープで設定された設定は、通常のブラウザ ウィンドウに適用され、上書きされない場合はシークレット ウィンドウに継承されます。これらの設定はディスクに保存され、管理拡張機能によってクリアされるか、管理拡張機能が無効化またはアンインストールされるまで保持されます。incognito_persistentincognito_persistentスコープで設定された設定は、シークレット ウィンドウにのみ適用されます。これらはregularの設定をオーバーライドします。これらの設定はディスクに保存され、管理対象の拡張機能によって消去されるか、管理対象の拡張機能が無効化またはアンインストールされるまで保持されます。incognito_session_onlyincognito_session_onlyスコープで設定された設定は、シークレット ウィンドウにのみ適用されます。これらの場合、regularとincognito_persistentの設定がオーバーライドされます。これらの設定はディスクに保存されず、最後のシークレット ウィンドウが閉じられると消去されます。これらは、シークレット ウィンドウが 1 つ以上開いている場合にのみ設定できます。
優先度
Chrome では、設定が複数のレイヤで管理されます。次のリストは、有効な設定に影響する可能性のあるレイヤを優先度の低い順に示しています。
- オペレーティング システムが提供するシステム設定
- コマンドラインのパラメータ
- 拡張機能によって提供される設定
- ポリシー
このリストが示すように、ポリシーは拡張機能で指定した変更よりも優先される場合があります。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
ChromeSetting のスコープ。次のいずれか 1 つ:
regular: 通常のプロファイルの設定(他の場所でオーバーライドされていない場合は、シークレット プロファイルに継承されます)。regular\_only: 通常のプロファイルのみの設定(シークレット プロファイルには継承されません)。incognito\_persistent: ブラウザの再起動後も保持されるシークレット プロファイルの設定(通常の設定をオーバーライドします)。incognito\_session\_only: シークレット モード セッション中にのみ設定でき、シークレット モード セッションが終了すると削除されるシークレット プロファイルの設定(通常の preference と incognito_persistent preference をオーバーライドします)。
列挙型
"regular"
"regular_only"
"incognito_persistent"
"incognito_session_only"
LevelOfControl
次のいずれか 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"