メインコンテンツへ飛ぶ

ServiceWorkerを有効にする

ServiceWorkerを有効にする​

session のアクティブなサービスワーカーからのイベントを問い合わせて受信します。

Process: Main
This class is not exported from the 'electron' module. Electron API では、他のメソッドの戻り値としてのみ利用できます。

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

以下がその例です。

const { session } = require('electron')

// すべてのサービスワーカーを取得します。
console.log(session.defaultSession.serviceWorkers.getAllRunning())

// ログを処理してサービスワーカー情報を取得します
session.defaultSession.serviceWorkers.on('console-message', (event, messageDetails) => {
console.log(
'Got service worker message',
messageDetails,
'from',
session.defaultSession.serviceWorkers.getFromVersionID(messageDetails.versionId)
)
})

インスタンスイベント​

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

Event: 'console-message'​

戻り値:

  • event Event
  • messageDetails Object - コンソールメッセージに関する情報
    • message string - 実際のコンソールメッセージ
    • versionId number - ログメッセージを送信したサービスワーカーのバージョン ID
    • source string - このメッセージのソースの種別。 javascript、xml、network、console-api、storage、rendering、security、deprecation、worker、violation、intervention、recommendation、other のいずれかにできます。
    • level number - 0 から 3 のログレベル。 順に verbose、info、warning、error に対応します。
    • sourceUrl string - メッセージが送られてきた URL
    • lineNumber number - このコンソールメッセージのトリガーとなったソースの行番号

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

イベント: 'registration-completed'​

戻り値:

  • event Event
  • details Object - 登録されているサービスワーカーに関する情報
    • scope string - サービスワーカーが登録している基底 URL

サービスワーカーが登録されてたときに発生します。 navigator.serviceWorker.register('/sw.js') の呼び出しが成功した後や、Chrome 拡張機能が読み込まれた後に発生することがあります。

インスタンスメソッド​

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

serviceWorkers.getAllRunning()​

Returns Record<number, ServiceWorkerInfo> - A ServiceWorkerInfo object where the keys are the service worker version ID and the values are the information about that service worker.

serviceWorkers.getFromVersionID(versionId)​

  • versionId number

Returns ServiceWorkerInfo - Information about this service worker

サービスワーカーが存在しないか動作していない場合、このメソッドは例外を送出します。