メインコンテンツへ飛ぶ

クラス: Extensions

クラス: Extensions

拡張機能を読み込んでやり取りします。

プロセス: メイン
_このクラスは 'electron' モジュールからはエクスポートされていません。 Electron API の他のメソッドの戻り値としてのみ利用できます。

Extensions クラスのインスタンスは、Sessionextensions プロパティでアクセスされます。

インスタンスイベント

Extensions のインスタンスでは、以下のイベントが利用できます。

イベント: 'extension-loaded'

戻り値:

拡張機能が読み込まれた後に発生します。 これは、拡張機能が "有効な" 拡張機能のセットに追加されるたびに発生します。 これは以下のものが含まれます。

  • Extensions.loadExtension から読み込まれる拡張機能。
  • 拡張機能が再読み込みされるとき。

イベント: 'extension-unloaded'

戻り値:

拡張機能が取り除かれた後に発生します。 これは Session.removeExtension が呼ばれたときに発生します。

イベント: 'extension-ready'

戻り値:

拡張機能が読み込まれ、必要なブラウザの状態がすべて初期化され、拡張機能のバックグラウンドページの開始をサポートするようになった後に発生します。

インスタンスメソッド

Extensions のインスタンスでは、以下のメソッドが利用できます。

extensions.loadExtension(path[, options])

  • path string - 解凍されていない Chrome 拡張機能を含んだディレクトリへのパス
  • options Object (任意)
    • allowFileAccess boolean - 拡張機能が file:// プロトコルでローカルファイルを読み込んで file:// ページにコンテンツスクリプトを注入することを許可するかどうか。 これは、例えば file:// URL でデベロッパー ツール拡張機能を読み込むために必要です。 省略値は、false です。

戻り値 Promise<Extension> - 拡張機能が読み込まれたときに解決されます。

このメソッドは、拡張機能を読み込めなかった場合に例外を発生させます。 拡張機能のインストール時に警告が発生した場合 (Electron が未サポートの API を拡張機能が要求した場合など) は、コンソールにログが記録されます。

注意として、Electron は Chrome 拡張機能の API のすべてをサポートしていません。 サポート内容の詳細については、サポートしている拡張機能 API をご参照ください。

注意として、以前のバージョンの Electron では、読み込まれた拡張機能は以降のアプリケーション実行のために記憶されます。 現在はそうなっていません。拡張機能を読み込みたい場合は、アプリを起動するたびに loadExtension を呼び出す必要があります。

const { app, session } = require('electron')

const path = require('node:path')

app.whenReady().then(async () => {
await session.defaultSession.extensions.loadExtension(
path.join(__dirname, 'react-devtools'),
// file:// の URL でデベロッパー ツール拡張機能を読み込むには、allowFileAccess が必要です。
{ allowFileAccess: true }
)
// 注意として、React デベロッパー ツール拡張機能を使用するには、
// その拡張機能のコピーをダウンロードして解凍する必要があります。
})

この API は、パッケージした (.crx) 拡張機能の読み込みをサポートしていません。

note

この API は、app モジュールの ready イベントが発生する前に呼び出せません。

note

インメモリ (一時的な) セッションでの拡張機能読み込みはサポートされておらず、エラーが送出されます。

extensions.removeExtension(extensionId)

  • extensionId string - 削除する拡張機能の ID

拡張機能を取り除きます。

note

この API は、app モジュールの ready イベントが発生する前に呼び出せません。

extensions.getExtension(extensionId)

  • extensionId string - 取得する拡張機能の ID

戻り値 Extension | null - 指定した ID を持つロード済みの拡張機能。

note

この API は、app モジュールの ready イベントが発生する前に呼び出せません。

extensions.getAllExtensions()

戻り値 Extension[] - 読み込まれた全拡張機能のリスト。

note

この API は、app モジュールの ready イベントが発生する前に呼び出せません。