Workbox: получить событие, когда файлы находятся в кеше - PullRequest
0 голосов
/ 05 июля 2019

Я использую workbox для создания сервис-работника в моем проекте.Workbox doc: https://developers.google.com/web/tools/workbox

Предполагается, что мое приложение находится на 100% в автономном режиме, поэтому я должен поместить все файлы в кеш при первом запуске.И я ищу способ показать пользователю сообщение о том, что приложение загружено, офлайн готов.

Есть ли способ узнать, когда все файлы находятся в кэше, и прослушать событие, котороескажем "все файлы кэшированы, пошли" или что-то в этом роде

1 Ответ

1 голос
/ 06 июля 2019

Вы можете следить за прогрессом предварительного кэширования, используя пользовательский плагин

const myPlugin = {
    cacheDidUpdate: async ({request, response, event}) => {
      // track progress of all precaching and communicate to the page using postMessage or BroadcastChannel
      return response;
    }
}

workbox.precaching.addPlugins([myPlugin]);

Как только все предварительное кэширование выполнено, вы можете показать сообщение пользователю.

Вот один из способов сделать это:

https://progressify.org/track-and-display-precaching-progress-in-a-pwa-with-workbox-and-broadcastchannel-api/

...