Ответ 1
Вот как я решил проблему. Мой файл манифеста
CACHE MANIFEST
# Version 0.1
CACHE:
# Minimised Styles
/css/style.0.1.min.css
# Minimised JavaScript
/js/script.0.1.min.js
FALLBACK:
/ /offline.html
NETWORK:
*
Обратите внимание на все, что относится к mydomain.com/, когда офлайн теперь переходит в /offline.html (из кеша)
Теперь, как кэшировать только то, что в файле манифеста, без включения онлайн-страницы в mydomain.com/.
Поместите следующий iframe в нижней части страницы в mydomain.com/
<iframe src="/offline.html" style="display: none;"></iframe>
И поместите manifest="myapp.appcache"
в offline.html.
Это означает, что при загрузке mydomain.com/ он никогда не будет кэшироваться (поскольку на странице нет атрибута манифеста). Затем браузер переходит в offline.html через iframe, и все, что вы хотите, кэширование добавляется с помощью инструкций в файле манифеста, включая страницу offline.html, из-за наличия атрибута HTML.
Единственные служебные данные, которые я могу увидеть, - это загрузка первой страницы, iframe сделает дополнительный HTTP-запрос, но после его кэширования он берет его из кеша, поэтому не является серьезной проблемой.