説明
chrome.types
API には Chrome 用の型宣言が含まれています。
Chromeの設定
ChromeSetting
プロトタイプは、共通の関数セット(get()
、set()
、clear()
)を提供します。
また、Chrome ブラウザの設定にはイベント パブリッシャー(onChange
)も使用できます。プロキシ設定
例は、これらの関数がどのように使用されるかを示しています。
スコープとライフサイクル
Chrome では、次の 3 種類のブラウザ設定の範囲を区別しています。
regular
regular
スコープで設定された設定は通常のブラウザ ウィンドウに適用され、シークレット モードに継承されます すべての時間に適用されます。これらの設定はディスクに保存され、次の時点まで保持されます。 管理拡張機能によってクリアされるか、管理拡張機能が無効化またはアンインストールされます。incognito_persistent
incognito_persistent
スコープで行った設定は、シークレット ウィンドウにのみ適用されます。そのため、regular
設定をオーバーライドする。これらの設定はディスクに保存され、次の状態になるまで保持されます。 管理拡張機能によってクリアされるか、管理拡張機能が無効化またはアンインストールされます。incognito_session_only
incognito_session_only
スコープで行った設定は、シークレット ウィンドウにのみ適用されます。そのため、regular
とincognito_persistent
の設定をオーバーライドする。これらの設定はディスクや シークレット ウィンドウを閉じるとクリアされます。少なくとも 1 つの シークレット ウィンドウが開いています。
優先度
Chrome はさまざまなレイヤで設定を管理します。次のリストは、変更される可能性のあるレイヤを 優先順位の高いものから順に、有効な設定に影響します。
- オペレーティング システムが提供するシステム設定
- コマンドライン パラメータ
- 拡張機能による設定
- ポリシー
このリストが示すように、拡張機能で指定した変更はポリシーによってオーバーライドされる可能性があります。マイページ
get()
関数を使用して、拡張機能が設定を提供できるかどうかを判断できます。
オーバーライドするかを指定します
前述のとおり、Chrome では通常のウィンドウとシークレット モードに異なる設定を使用できます。 表示されます。次の例は、この動作を示しています。デフォルトのポリシーをオーバーライドするポリシーがない 拡張機能が通常のウィンドウ(R)と Windows シークレット ウィンドウ(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
<ph type="x-smartling-placeholder"></ph> 約束設定を消去し、デフォルト値に戻します。
clear
関数は次のようになります。(details: object, callback?: function) => {...}
-
詳細
オブジェクト
どの設定を解除するか
-
スコープ
ChromeSettingScope(省略可)
設定をクリアする場所(デフォルト: 標準)。
-
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
-
戻り値
約束 <void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
-
-
get
void
<ph type="x-smartling-placeholder"></ph> 約束設定の値を取得します。
get
関数は次のようになります。(details: object, callback?: function) => {...}
-
詳細
オブジェクト
どの設定を検討すべきか
-
シークレット モード
ブール値(省略可)
シークレット セッションに適用される値を返すかどうか(デフォルトは false)。
-
-
callback
関数(省略可)
callback
パラメータは次のようになります。(details: object) => void
-
詳細
オブジェクト
現在有効な値の詳細。
-
incognitoSpecific
ブール値(省略可)
有効な値がシークレット セッションに固有のかどうかを示します。 このプロパティは、
get()
のdetails
パラメータのincognito
プロパティが true の場合にのみ存在します。 -
levelOfControl
設定の管理レベル。
-
値
T
設定の値。
-
-
-
戻り値
Promise<object>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
-
-
set
void
<ph type="x-smartling-placeholder"></ph> 約束設定の値を設定します。
set
関数は次のようになります。(details: object, callback?: function) => {...}
-
詳細
オブジェクト
変更する設定
-
スコープ
ChromeSettingScope(省略可)
設定を行う場所(デフォルト: 標準)。
-
値
T
設定の値。 すべての設定には特定の値の型があり、それについては設定と一緒に説明されています。拡張機能に別のタイプの値を設定しないでください。
-
-
callback
関数(省略可)
callback
パラメータは次のようになります。() => void
-
戻り値
約束 <void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
-
ChromeSettingScope
ChromeSetting のスコープ。次のいずれか 1 つ:
regular
: 通常のプロファイルの設定(他の場所でオーバーライドされていない場合は、シークレット プロファイルによって継承されます)。regular\_only
: 通常のプロファイルのみの設定(シークレット プロファイルには継承されません)。incognito\_persistent
: ブラウザの再起動後も保持されるシークレット プロファイルの設定(通常の設定をオーバーライドします)。incognito\_session\_only
: シークレット モード プロファイルの設定。シークレット セッション中にのみ設定でき、シークレット セッションが終了すると削除されます(通常の設定とシークレットの永続的な設定をオーバーライドします)。
列挙型
「レギュラー サイズ」
「regular_only」
シークレット モード
"secret_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"