Всем днем,
Немного предыстории — я создаю собственный календарь для компании, в которой можно запланировать работу, и инженеры могут получить к ней доступ со своего мобильного телефона, чтобы знать, когда и куда они идут. Ранее они использовали календарь Google, но теперь хотят что-то сделанное на заказ.
Все в порядке, пока кто-то не потеряет сигнал телефона и не получит ужасную офлайн-страницу в Chrome и не сможет получить доступ к какой-либо информации. Я хочу, чтобы он сохранил автономную версию календаря, а также обновил его, когда они повторно посетят его с лучшим соединением — так как время работы часто меняется.
Я пытался сохранить страницу и включить автономный режим в Chrome, но страница не обновляется, пока вы не очистите кеш вручную, так что ничего хорошего.
Я попытался добавить немного javascript для жесткого обновления страницы в надежде, что он очистит кеш браузера, но снова не обновляет страницу.
<script>location.reload(true);</script>
Вы пытались изменить содержимое вашего манифеста кеша каждый раз, когда вы меняете один из файлов? APPCACHE немного привередлив, когда дело доходит до изменений в файлах, и может быть проблематичным. Я обычно добавляю комментарий с отметкой времени и номером версии, чтобы принудительно обновить его в браузере, например так:
CACHE MANIFEST
# 01-01-2001 v1.0 (Change whenever you need to force an update of the cache)
CACHE:
/css/file.css
/js/file.js
NETWORK:
*
FALLBACK:
Ну, лучшим вариантом будет создание PWA. Это должно включать файлы манифеста и Сервисные работники также. Это позволяет вам кэшировать содержимое веб-сайтов и обновлять его после восстановления соединения. Однако это очень новый и потребует приличного количества исследований в сфере обслуживания работников. Если вам нужна помощь в разработке PWA, будем рады помочь по мере
Единственный путь без HTTP-Header
это переименовывать файлы непрерывно.
И в зависимости HTML tag
имя файла.
Таким образом, файлы загружаются заново.
С HTTP-Header
Смотри сюда.
Как контролировать кэширование веб-страниц во всех браузерах?
Вы можете сделать это всякий раз, когда было сделано новое изменение в календаре.