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'
戻り値:
eventEventmessageDetailsObject - コンソールメッセージに関する情報messagestring - 実際のコンソールメッセージversionIdnumber - ログメッセージを送信したサービスワーカーのバージョン IDsourcestring - このメッセージのソースの種別。javascript、xml、network、console-api、storage、rendering、security、deprecation、worker、violation、intervention、recommendation、otherのいずれかにできます。levelnumber - 0 から 3 のログレベル。 順にverbose、info、warning、errorに対応します。sourceUrlstring - メッセージが送られてきた URLlineNumbernumber - このコンソールメッセージのトリガーとなったソースの行番号
サービスワーカーがコンソールに何かをロギングしたときに発生します。
イベント: 'registration-completed'
戻り値:
eventEventdetailsObject - 登録されているサービスワーカーに関する情報scopestring - サービスワーカーが登録している基底 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)
versionIdnumber
Returns ServiceWorkerInfo - Information about this service worker
サービスワーカーが存在しないか動作していない場合、このメソッドは例外を送出します。