本文へ移動

クラス: ServiceWorkers

クラス: ServiceWorkers

セッションのアクティブなサービスワーカーからイベントをクエリおよび受信します。

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

ServiceWorkersクラスのインスタンスには、SessionserviceWorkersプロパティを使用してアクセスします。

例:

const { session } = require('electron')

// Get all service workers.
console.log(session.defaultSession.serviceWorkers.getAllRunning())

// Handle logs and get service worker info
session.defaultSession.serviceWorkers.on('console-message', (event, messageDetails) => {
console.log(
'Got service worker message',
messageDetails,
'from',
session.defaultSession.serviceWorkers.getFromVersionID(messageDetails.versionId)
)
})

インスタンスイベント

以下のイベントは、ServiceWorkersのインスタンスで使用できます。

イベント: 'console-message'

戻り値

  • event イベント
  • messageDetails オブジェクト - コンソールメッセージに関する情報
    • message 文字列 - 実際のコンソールメッセージ
    • versionId 数値 - ログメッセージを送信したサービスワーカーのバージョンID
    • source 文字列 - このメッセージのソースの種類。`javascript`、`xml`、`network`、`console-api`、`storage`、`rendering`、`security`、`deprecation`、`worker`、`violation`、`intervention`、`recommendation`、または`other`のいずれかです。
    • level 数値 - ログレベル(0~3)。順に`verbose`、`info`、`warning`、`error`に対応します。
    • sourceUrl 文字列 - メッセージの発信元URL
    • lineNumber 数値 - このコンソールメッセージをトリガーしたソースの行番号

サービスワーカーがコンソールに何かをログ出力したときに発生します。

イベント: 'registration-completed'

戻り値

  • event イベント
  • details オブジェクト - 登録されたサービスワーカーに関する情報
    • scope 文字列 - サービスワーカーが登録されている基本URL

navigator.serviceWorker.register('/sw.js')が正常に解決された後、またはChrome拡張機能が読み込まれたときに発生します。

インスタンスメソッド

以下のメソッドは、ServiceWorkersのインスタンスで使用できます。

serviceWorkers.getAllRunning()

戻り値 Record<number, ServiceWorkerInfo> - キーがサービスワーカーのバージョンID、値がそのサービスワーカーに関する情報であるServiceWorkerInfoオブジェクト。

serviceWorkers.getFromVersionID(versionId)

  • versionId 数値

戻り値 ServiceWorkerInfo - このサービスワーカーに関する情報

サービスワーカーが存在しない場合、または実行されていない場合、このメソッドは例外をスローします。