Class: ServiceWorkers
Class: ServiceWorkers
세션에서 활성화된 서비스 워커의 이벤트를 쿼리하고 수신한다.
프로세스: Main
이 클래스는 '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(
'서비스 워커 메시지를 받음',
messageDetails,
'출처',
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') 호출이 성공적으로 완료된 후나 크롬 확장 프로그램이 로드될 때 발생할 수 있다.
인스턴스 메서드
ServiceWorkers 인스턴스에서 사용할 수 있는 메서드는 다음과 같다:
serviceWorker.getAllRunning()
Record<number, ServiceWorkerInfo> 타입을 반환한다. 이는 ServiceWorkerInfo 객체로, 키는 서비스 워커 버전 ID이고 값은 해당 서비스 워커에 대한 정보이다.
serviceWorkers.getFromVersionID(versionId)
versionIdnumber
ServiceWorkerInfo를 반환한다. 이는 해당 서비스 워커에 대한 정보를 담고 있다.
만약 서비스 워커가 존재하지 않거나 실행 중이 아닌 경우, 이 메서드는 예외를 발생시킨다.