TL; DR - Я хочу, чтобы мой сервисный работник активировался сразу после первого посещения моего сайта, а не после первого обновления.Используйте Service Worker для перехвата запросов при первой загрузке моего сайта?
Детали:
Я построил прогрессивный веб-приложение с помощью службы работника, но заметили, что при первой загрузке (если установлен SW) не будет перехватывать любые сетевые запросы до тех пор, пока пользователь не обновляет страницу.
Есть ли что-нибудь, что я могу сделать, чтобы сервисный работник немедленно начал перехватывать запросы после его установки?
Есть ли недостатки/недостатки для этого? (Почему это поведение не по умолчанию?) – mjs
AFAICT это не работает. См. Https://github.com/gaye/bug-1206947, который делает это, но не видит запросов в sw на загрузке первой страницы. –
Я думаю, что поведение, которое я вижу, может быть результатом использования жесткого обновления. Невозможно использовать служебного работника при жестком обновлении (даже с 'self.skipWaiting()' и 'self.clients.claim()', как показано выше. –