1

가져 오기 이벤트 수신기 내부에서 내 서비스 작업자 범위에 액세스하려고합니다. 내 계획된 해결 방법은 window.location.host이지만 서비스 직원은 window을 사용할 수 없습니다. 또한 원하는 값을 반환하는 ServiceWorkerRegistration.scope (MDN doc)을 사용하여 시도했지만 fetch 이벤트 처리기에서 액세스 할 수 없습니다.가져 오기 이벤트 수신기 내부에서 서비스 작업자 범위 가져 오기

event.scope (등록 핸들러에서 사용 가능)과 유사하지만 fetch 핸들러에 대해 바라고 있습니다. 이것이 가능한가?

답변

2

Chrome 개발자 도구를 살펴본 결과, 내가 찾고있는 변수가 발견되었습니다 : self.location.host. 이것은 'location'속성을 가진 ServiceWorkerGlobalScope를 참조합니다.

// Skip cross-origin requests, like those for Google Analytics. 
    if (event.request.url.startsWith(self.location.origin)) { ... } 
:

내가 대신 구글 크롬 팀의 example service worker 사용 self.location.origin에서 유사한 사용을 발견