Может ли новый файл HTML5 manifest.cache содержать пути к каталогам?
При использовании возможности HTML5 указывать, кэшируются ли файлы / как (в файле manifest.cache), возможно ли указание целых каталогов? Могу ли я поместить путь к каталогу с изображениями в разделе CACHE: и применить его ко всем файлам в этом каталоге, или мне нужно явно указать файлы изображений для кэширования?
Другими словами, возможно ли это?
CACHE MANIFEST
...
CACHE:
images/
... или это может быть?
CACHE MANIFEST
...
CACHE:
images/*
... или я должен сделать это:
CACHE MANIFEST
...
CACHE:
images/logo.png
images/image01.jpg
images/image02.jpg
images/image03.jpg
... (etc)
2 ответа
К сожалению, третий пример является правильным - перечислите каждый файл в отдельности. В то время, когда вопрос был опубликован, статья доктора html5 была неверной, и с тех пор в нее были внесены поправки.
Подстановочный знак * разрешен только в разделе "белый список онлайн":
NETWORK:
*
который позволяет загружать любые необходимые файлы во время просмотра в Интернете, если они еще не загружены (как обычно).
Существует также "шаблон пути страницы" раздела Fallback:
FALLBACK:
/ /offline.html
это работает как шаблон. Начальный / будет соответствовать пути к каждой странице вашего сайта, поэтому любая страница, которая не найдена в кэше, будет использовать /offline.html в качестве запасного запасного варианта. (Обратите внимание на расстояние между двумя слешами.)
Я думаю, что вы могли бы получить "подстановочный знак", создав файл.manifest (или.cache в вашем примере) с помощью файла PHP. Таким образом, вы можете позволить PHP справиться с проблемой сохранения имен файлов путем сканирования каталогов, повторяя каждое имя файла. Вероятно, лучше всего позволить PHP разместить файл.manifest на вашем сервере, в противном случае автономное приложение может подумать, что файл манифеста обновился и постоянно обновлял кэш.