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 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

  • 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 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

  • set

    void

    <ph type="x-smartling-placeholder"></ph> 約束

    設定の値を設定します。

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

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

    • 詳細

      オブジェクト

      変更する設定

      • スコープ

        ChromeSettingScope省略可

        設定を行う場所(デフォルト: 標準)。

      • T

        設定の値。 すべての設定には特定の値の型があり、それについては設定と一緒に説明されています。拡張機能に別のタイプの値を設定しないでください。

    • callback

      関数(省略可)

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

      () => void

    • 戻り値

      約束 <void>

      Chrome 96 以降

      Promise は Manifest V3 以降でサポートされていますが、 下位互換性が確保されます同じ関数呼び出しで両方を使用することはできません。「 Promise はコールバックに渡された型と同じ型で解決されます。

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;