javascript — обновление автономного кэша (Chrome On Mobile)

Всем днем,

Немного предыстории — я создаю собственный календарь для компании, в которой можно запланировать работу, и инженеры могут получить к ней доступ со своего мобильного телефона, чтобы знать, когда и куда они идут. Ранее они использовали календарь Google, но теперь хотят что-то сделанное на заказ.

Все в порядке, пока кто-то не потеряет сигнал телефона и не получит ужасную офлайн-страницу в Chrome и не сможет получить доступ к какой-либо информации. Я хочу, чтобы он сохранил автономную версию календаря, а также обновил его, когда они повторно посетят его с лучшим соединением — так как время работы часто меняется.


Я пытался сохранить страницу и включить автономный режим в Chrome, но страница не обновляется, пока вы не очистите кеш вручную, так что ничего хорошего.

Я попытался добавить немного javascript для жесткого обновления страницы в надежде, что он очистит кеш браузера, но снова не обновляет страницу.

<script>location.reload(true);</script>

0

Решение

Вы пытались изменить содержимое вашего манифеста кеша каждый раз, когда вы меняете один из файлов? 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:
0

Другие решения

Ну, лучшим вариантом будет создание PWA. Это должно включать файлы манифеста и Сервисные работники также. Это позволяет вам кэшировать содержимое веб-сайтов и обновлять его после восстановления соединения. Однако это очень новый и потребует приличного количества исследований в сфере обслуживания работников. Если вам нужна помощь в разработке PWA, будем рады помочь по мере

0

Единственный путь без HTTP-Header это переименовывать файлы непрерывно.

И в зависимости HTML tag имя файла.

Таким образом, файлы загружаются заново.

С HTTP-Header Смотри сюда.

Как контролировать кэширование веб-страниц во всех браузерах?

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

0
По вопросам рекламы [email protected]