Chrome 확장 프로그램의 영구 서비스 워커
Chrome 확장 프로그램의 서비스 워커(SW)는 본질적으로 영구적이지 않습니다. 즉, 일정 기간이 지나면 브라우저에 의해 강제로 종료될 수 있습니다. 활동이 없습니다. 이는 SW를 사용하여 네트워크 요청을 가로채고 수정하는 확장 프로그램에 문제가 될 수 있습니다. 특히 요청에 시간이 많이 걸리거나 요청이 완료되기 전에 사용자가 페이지에서 다른 곳으로 이동하는 경우에는 문제가 될 수 있습니다.
해결 방법
Chrome 확장 프로그램에서 SW를 지속적으로 실행하는 데 사용할 수 있는 몇 가지 해결 방법이 있습니다.
-
버그 악용(Chrome 110 ): 작업자를 추가로 30초 동안 활성 상태로 유지하려면 비동기 Chrome API 함수를 호출하세요. 이 익스플로잇은 Chromium 팀에서 기능으로 인정했으며 가까운 미래에도 그대로 유지될 것으로 예상됩니다.
-
오프스크린 API(Chrome 109 ): 오프스크린 문서를 생성하고 30초 이하마다 SW로 메시지를 보냅니다. 이 기술은 Chrome 최신 버전에서 오프스크린 문서의 수명이 무제한이라는 점을 활용합니다.
-
NativeMessaging API(Chrome 105 ): Chrome을 사용하여 SW를 기본 호스트 프로세스에 연결합니다. .runtime.connectNative 함수. 연결이 유지되는 한 SW는 활성 상태로 유지됩니다.
-
WebSocket API(Chrome 116): WebSocket 연결을 설정하고 25초 이하마다 메시지를 교환하여 활성 상태를 유지합니다.
-
Chrome 메시징 API: 메시지를 다시 보내 확장 프로그램의 다른 탭에 핑을 보냅니다.
-
전용 탭: SW를 사용하는 대신 눈에 띄는 배경 페이지 역할을 하는 확장 페이지가 있는 전용 탭을 엽니다. 이 페이지는 요청을 가로채고 확장 프로그램의 상태를 유지하는 데 사용될 수 있습니다.
주의
이러한 해결 방법은 필요한 경우에만 신중하게 사용하는 것이 중요합니다. 영구 SW는 메모리와 리소스를 소비할 수 있으므로 사용하지 않을 때는 비활성화해야 합니다. 또한 충돌로부터 보호하려면 스토리지에 확장 프로그램의 상태를 저장하고 복원하는 것이 중요합니다.
위 내용은 Chrome 확장 프로그램에서 서비스 워커를 지속적으로 유지하려면 어떻게 해야 하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!