ServiceWorkerを有効にする
ServiceWorkerを有効にする
session のアクティブなサービスワーカーからのイベントを問い合わせて受信します。
プロセス: メイン
このクラスは 'electron'
モジュールからはエクスポートされません。 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
EventmessageDetails
Object - コンソールメッセージに関する情報message
string - 実際のコンソールメッセージversionId
number - ログメッセージを送信したサービスワーカーのバージョン IDsource
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 - メッセージが送られてきた URLlineNumber
number - このコンソールメッセージのトリガーとなったソースの行番号
サービスワーカーがコンソールに何かをロギングしたときに発生します。
イベント: 'registration-completed'
戻り値:
event
Eventdetails
Object - 登録されているサービスワーカーに関する情報scope
string - サービスワーカーが登録している基底 URL
サービスワーカーが登録されてたときに発生します。 navigator.serviceWorker.register('/sw.js')
の呼び出しが成功した後や、Chrome 拡張機能が読み込まれた後に発生することがあります。
インスタンスメソッド
ServiceWorkers
のインスタンスでは、以下のメソッドが利用できます。
serviceWorkers.getAllRunning()
戻り値 Record<number, ServiceWorkerInfo>
- キーはサービスワーカーのバージョン ID、値は ServiceWorkerInfo オブジェクトで、そのサービスワーカー に関する情報です。
serviceWorkers.getFromVersionID(versionId)
versionId
number
戻り値 ServiceWorkerInfo - このサービスワーカーについての情報
サービスワーカーが存在しないか動作していない場合、このメソッドは例外を送出します。