chrome.types

説明

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 スコープで行った設定は、シークレット ウィンドウにのみ適用されます。そのため、 regularincognito_persistent の設定をオーバーライドする。これらの設定はディスクや シークレット ウィンドウを閉じるとクリアされます。少なくとも 1 つの シークレット ウィンドウが開いています。

優先度

Chrome はさまざまなレイヤで設定を管理します。次のリストは、変更される可能性のあるレイヤを 優先順位の高いものから順に、有効な設定に影響します。

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

このリストが示すように、拡張機能で指定した変更はポリシーによってオーバーライドされる可能性があります。マイページ 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&lt;object&gt;

      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

Chrome 44 以降

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

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

列挙型

「レギュラー サイズ」

「regular_only」

シークレット モード

"secret_session_only"

LevelOfControl

Chrome 44 以降

次のいずれか 1 つ:

  • not\_controllable: 拡張機能で制御することはできません
  • controlled\_by\_other\_extensions: 優先度の高い拡張機能によって制御
  • controllable\_by\_this\_extension: この拡張機能で制御可能
  • controlled\_by\_this\_extension: この拡張機能で制御

列挙型

"not_controllable"

&quot;controlled_by_other_extensions&quot;

&quot;controllable_by_this_extension&quot;

&quot;controlled_by_this_extension&quot;