説明
chrome.types
API には、Chrome の型宣言が含まれています。
Chromeの設定
ChromeSetting
型は、Chrome ブラウザの設定用のイベント パブリッシャー(onChange
)だけでなく、共通の関数セット(get()
、set()
、clear()
)も提供します。プロキシ設定の例では、これらの関数の使用方法を示しています。
スコープとライフサイクル
Chrome では、ブラウザ設定のスコープが次の 3 つに区別されます。
regular
regular
スコープで設定された設定は、通常のブラウザ ウィンドウに適用され、上書きされない場合はシークレット ウィンドウに継承されます。これらの設定はディスクに保存され、管理拡張機能によってクリアされるか、管理拡張機能が無効化またはアンインストールされるまでそのまま残ります。incognito_persistent
incognito_persistent
スコープで設定された設定は、シークレット ウィンドウにのみ適用されます。これらの設定はregular
設定をオーバーライドします。これらの設定はディスクに保存され、管理拡張機能によってクリアされるか、管理拡張機能が無効化またはアンインストールされるまでそのまま残ります。incognito_session_only
incognito_session_only
スコープで設定された設定は、シークレット ウィンドウにのみ適用されます。これらの場合、regular
とincognito_persistent
の設定がオーバーライドされます。これらの設定はディスクに保存されず、最後のシークレット ウィンドウが閉じられるとクリアされます。シークレット ウィンドウが 1 つ以上開いている場合にのみ設定できます。
優先度
Chrome は、さまざまなレイヤで設定を管理します。有効な設定に影響する可能性のあるレイヤを、優先順位の高い順に示します。
- オペレーティング システムによって提供されるシステム設定
- コマンドライン パラメータ
- 拡張機能によって提供される設定
- ポリシー
このリストが示すように、ポリシーは拡張機能で指定した変更よりも優先される場合があります。get()
関数を使用すると、拡張機能が設定を提供できるかどうか、またはこの設定がオーバーライドされるかどうかを判断できます。
前述のとおり、Chrome では通常のウィンドウとシークレット ウィンドウで異なる設定を使用できます。次の例は、この動作を示しています。ポリシーが設定をオーバーライドせず、拡張機能が通常のウィンドウ (R)の設定とシークレット ウィンドウ (I)の設定を行えるものとします。
- (R) のみが設定されている場合、これらの設定は通常のウィンドウとシークレット ウィンドウの両方に有効です。
- (I) のみが設定されている場合、これらの設定はシークレット ウィンドウにのみ適用されます。通常のウィンドウでは、下位レイヤ(コマンドライン オプションとシステム設定)で決定された設定が使用されます。
- (R) と (I) の両方が設定されている場合、それぞれの設定が通常のウィンドウとシークレット ウィンドウで使用されます。
2 つ以上の拡張機能が同じ設定に異なる値を設定しようとした場合、最後にインストールされた拡張機能が他の拡張機能よりも優先されます。最近インストールされた拡張機能が (I) のみを設定している場合、通常のウィンドウの設定は以前にインストールされた拡張機能で定義できます。
設定の有効な値は、優先順位ルールを考慮した結果の値です。Chrome で使用されます。
型
ChromeSetting
Chrome ブラウザの設定にアクセスできるインターフェース。例については、accessibilityFeatures
をご覧ください。
プロパティ
-
onChange
Event<functionvoidvoid>
設定の変更後に発生します。
onChange.addListener
関数は次のようになります。(callback: function) => {...}
-
callback
関数
callback
パラメータは次のようになります。(details: object) => void
-
詳細
オブジェクト
-
incognitoSpecific
ブール値(省略可)
変更された値がシークレット セッションに固有かどうか。このプロパティは、ユーザーがシークレット モードで拡張機能を有効にしている場合にのみ存在します。
-
levelOfControl
設定の制御レベル。
-
値
T
変更後の設定の値。
-
-
-
-
クリア
void
設定をクリアし、デフォルト値を復元します。
clear
関数は次のようになります。(details: object) => {...}
-
詳細
オブジェクト
クリアする設定。
-
スコープ
設定をクリアする場所(デフォルト: regular)。
-
-
戻り値
Promise<void>
Chrome 96 以降
-
-
get
void
設定の値を取得します。
get
関数は次のようになります。(details: object) => {...}
-
詳細
オブジェクト
考慮すべき設定。
-
シークレット
ブール値(省略可)
シークレット セッションに適用される値を返すかどうか(デフォルトは false)。
-
-
戻り値
Promise<object>
Chrome 96 以降
-
-
set
void
設定の値を設定します。
set
関数は次のようになります。(details: object) => {...}
-
詳細
オブジェクト
変更する設定。
-
スコープ
設定を行う場所(デフォルト: regular)。
-
値
T
設定の値。各設定には特定の値の型があり、設定とともに説明されています。拡張機能で異なる型の値を設定することはできません。
-
-
戻り値
Promise<void>
Chrome 96 以降
-
ChromeSettingScope
ChromeSetting のスコープ。次のいずれか 1 つ:
regular
: 通常のプロファイルの設定(他の場所でオーバーライドされていない場合、シークレット プロファイルに継承されます)。regular\_only
: 通常のプロファイルのみの設定(シークレット プロファイルには継承されない)、incognito\_persistent
: ブラウザの再起動後も維持されるシークレット プロファイルの設定(通常の基本設定をオーバーライドします)。incognito\_session\_only
: シークレット モード セッション中にのみ設定でき、シークレット モード セッションが終了すると削除されるシークレット モード プロファイルの設定(通常の優先設定と incognito_persistent 優先設定をオーバーライドします)。
列挙型
"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"