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