session
ブラウザーセッション、クッキー、キャッシュ、プロキシの設定などを管理します。
プロセス: Main
session
モジュールは、新しい session
オブジェクトを作成するのに使用できます。
WebContents
の session
プロパティ、または session
モジュールから、既存のページの session
にアクセスすることもできます 。
const { BrowserWindow } = require('electron')
const win = new BrowserWindow({ width: 800, height: 600 })
win.loadURL('https://github.com')
const ses = win.webContents.session
console.log(ses.getUserAgent())
メソッド
session
モジュールには以下のメソッドがあります。
session.fromPartition(partition[, options])
partition
string
戻り値 Session
- partition
文字列からの Session のインスタンス。 同じ partition
を持つ既存の session
が存在する場合は、それが返されます。 それ以外の場合は、options
で新しい session
インスタンスが作成されます。
partition
が persist:
始まりの場合、ページはアプリの全ページで利用可能な永続的なセッションを同じ partition
で使用します。 persist:
プレフィックスがない場合、ページは、インメモリセッションを使用します。 partition
が空の場合は、アプリのデフォルトのセッションが返されます。
options
で Session
を作成するには、以前に partition
との Session
が使用されていないことを確認する必要があります。 既存の Session
オブジェクトの options
を変更する方法はありません。
session.fromPath(path[, options])
path
string
戻り値 Session
- path
文字列で指定された絶対パスからの Session のインスタンス。 同じ絶対パスを持つ既存の Session
がある場合はそれを返します。そうでなければ、新しい Session
インスタンスを options
で作成します。 パスが絶対パスでない場合、この呼び出しはエラーを送出します。 さらに、空文字列が指定された場合もエラーを送出します。
Session
を options
で作成する場合、path
を持つ Session
が一度も使われていないことを確認すべきです。 既存の Session
オブジェクトの options
を変更する方法はありません。
プロパティ
session
モジュールには以下のプロパティがあります。
session.defaultSession
アプリのデフォルトの Session
オブジェクト。
クラス: Session
セッションのプロパティを取得し、設定します。
プロセス: メイン
このク ラスは 'electron'
モジュールからはエクスポートされません。 Electron API では、他のメソッドの戻り値としてのみ利用できます。
session
モジュールでは、Session
オブジェクトを作成できます。
const { session } = require('electron')
const ses = session.fromPartition('persist:name')
console.log(ses.getUserAgent())
インスタンスイベント
Session
のインスタンスでは、以下のイベントが利用できます。
イベント: 'will-download'
戻り値:
event
Eventitem
DownloadItemwebContents
WebContents
Electron が webContents
内で item
をダウンロードするときに発生します。
event.preventDefault()
を呼び出すと、ダウンロードをキャンセルし、item
はプロセスの次のティックから使用できなくなります。
const { session } = require('electron')
session.defaultSession.on('will-download', (event, item, webContents) => {
event.preventDefault()
require('got')(item.getURL()).then((response) => {
require('node:fs').writeFileSync('/somewhere', response.body)
})
})
イベント: 'extension-loaded'
戻り値:
event
Eventextension
Extension
拡張機能が読み込まれた後に発生します。 これは、拡張機能が "有効な" 拡張機能のセットに追加されるたびに発生します。 これは以下のものが含まれます。
Session.loadExtension
から拡張機能が読み込まれるとき。- 拡張機能が再読み込みされるとき。
- クラッシュによって。
- 拡張機能が要求したことで (
chrome.runtime.reload()
)。