Как разрешить serviceWorker управлять страницей, когда пользователь впервые открывает веб-страницу? - PullRequest
0 голосов
/ 06 августа 2020

Наша команда использует serviceWorker в качестве прокси-слоя между серверной частью и внешним интерфейсом. ServiceWorker может помочь нам получить запрос, и мы сможем обнаружить отключенный домен CDN и ответить правильными ресурсами. Я обнаружил проблему, заключающуюся в том, что, когда serviceWorker не установлен в этом браузере, и пользователь сначала открывает нашу веб-страницу в этом браузере, serviceWorker устанавливается и активируется после визуализации веб-страницы, в результате получается такая страница:

первый на веб-странице

Домен CDN отключен, поэтому изображение не отображается. ServiceWorker устанавливается после отображения веб-страницы, поэтому ему не удается получить запрос в начале отображения страницы. Перезагрузив веб-страницу, мы можем обнаружить, что serviceWorker работает.

после перезагрузки

Я хочу спросить, есть ли какие-то методы, позволяющие serviceWorker начать работу до веб-страницы рендерить?

1 Ответ

0 голосов
/ 11 августа 2020

Вы должны прочитать это , если вы еще этого не сделали. С учетом сказанного - есть несколько разных вариантов, которые я могу придумать:

  1. Отображать анимацию загрузки или что-то, указывающее, что изображение в конечном итоге загрузится. Затем загрузите изображение, как только сервис-воркер будет активирован и вы получите контроль над клиентом.
  2. Если возможно, переместите ваш лог c в cloudflare worker . Похоже, что это будет хорошим примером для вас.
...