Проверьте, кэшированы ли мои страницы

У меня есть страница, которая ссылается на файл манифеста. В файле манифеста много URL. Обычно загрузка всего занимает несколько минут.

Как я могу проверить, закончили ли мои страницы кэширование, чтобы я мог сказать пользователю: "Ваши файлы кэшированы. Теперь можно перейти в автономный режим"?

1 ответ

applicationCache Global запускает несколько событий, которые вы можете проверить, чтобы справиться с этим. Есть несколько случаев, которые необходимо рассмотреть.

В самый первый раз, когда манифест загружается браузером пользователя (или когда он снова посещает сайт после удаления записи appcache), applicationCache уволит cached событие, когда все ресурсы были загружены.

Если пользователь посещал сайт ранее, и браузер определяет, что манифест не изменился с момента его последнего посещения, applicationCache уволит noupdate событие, указывающее, что пользователь готов выйти в автономный режим.

Если, с другой стороны, файл манифеста изменился, то он повторно загрузит все файлы в манифесте. Как только это будет сделано, это вызовет updateready событие. Тем не мение:

Новая версия еще не используется. Чтобы выполнить "горячую" замену новой версии, не заставляя пользователя перезагрузить страницу, вы можете вручную вызвать функцию window.applicationCache.swapCache().

В этом случае, как только updateready событие происходит и (опционально) application.swapCache() пользователь готов к работе.

источник

Другие вопросы по тегам