Мы используем файл manifest.appcache для управления кешем приложения на нашем сайте. Часть приложения должна быть доступна в автономном режиме, что означает, что на некоторых страницах есть ссылка на манифест в html-теге, а другие нет.
Есть ли способ проверить, является ли кеш пустым (со всех страниц)?
Пример Страница А доступна только в Интернете, поэтому на манифест не ссылаются. Страница B доступна онлайн и офлайн, поэтому в манифесте указывается. Теперь мы хотим проверить на странице A (только онлайн), если страница B уже кэширована (кеш не пуст).
Невозможно проверить, является ли кеш пустым, или если в кеше есть страница (с кешем приложения).
Если вам действительно нужно это сделать, вы можете использовать два решения:
Вы можете использовать файлы cookie для отслеживания сайтов, загружаемых в кеш. Это открывает новые проблемы: что делать, если пользователь очищает файлы cookie, а не кеш приложений?
Более чистым решением является использование IndexedDB или файловой системы HTML5 для сохранения содержимого и просто обертки для этого содержимого. Вы можете кэшировать обертки до начала, а затем вы можете обрабатывать контент с указанными API (я использовал этот). Таким образом, вы можете просто проверить, находится ли страница в кеше или нет.
Извините за ответ на мой собственный вопрос, но я надеюсь, что это сэкономит некоторое время.