По моему опыту использования HTML5 AppCache, замечательно, когда вы его заработаете, но очень хрупко. Если с ним что-то не так, браузер игнорирует весь файл и, к сожалению, вместо того, чтобы использовать обычный кеш браузера, перезагружает все с нуля с сервера.
Хуже того, браузеры не будут повторно загружать файл манифеста , если его текстовое содержимое не изменится. Таким образом, вы можете настроить заголовки вашего сервера или что-то исправить, но если содержимое cache.manifest.php
не изменится , браузер будет слепо игнорировать его и делать точно так же, как в прошлый раз . Так что он мог быть сломан, тогда вы исправили это, но браузеры игнорируют изменения, потому что текстовое содержимое cache.manifest.php
не изменилось. Это даже кажется невосприимчивым к очистке кэша вашего браузера, что является частью того, что делает его таким запутанным - кэш приложений действительно очень серьезно относится к кешированию.
Чтобы обойти это, текстовые изменения в подсчете комментариев, поэтому поместите комментарий вверху с версией, отметкой времени или датой (например, # Version 1.2
) и измените это, если вы хотите, чтобы браузер «заметил».
Тогда , браузер все равно не сразу его использует! Кэш приложения работает так, что при следующей загрузке страницы он будет делать точно так же, как в прошлый раз , и снова начнет проверять наличие обновлений в фоновом режиме. Таким образом, вы, вероятно, хотите, чтобы консоль открылась, подождите что-то вроде «обновление ...», затем «завершение», , затем нажмите «Обновить», и браузер, наконец, начнет использовать новую версию. Наконец-то!
В целом, это может быть правильная боль, чтобы работать. Однако, как только он работает, он почти пуленепробиваемый: вы можете быть уверены, что все, что перечислено в манифесте кэша, загружается только один раз , когда-либо , за все время, на пользователя, изменить текстовое содержимое файла.
В настоящее время соответствие стандартам браузеров довольно хорошее, поэтому я думаю, что у вас на самом деле он работает, но вы последний раз проверили Chrome, и это единственный браузер, который правильно кэшировал файл манифеста. Возможно, во время разработки он сломался, но Firefox и Opera сжимают старые файлы манифеста до смерти. Могу поспорить, что вы также пытались очистить кэш браузера в Firefox и Opera, что, вероятно, ничего не сделало - вам нужно изменить текстовое содержимое файла и дважды обновить его, прежде чем Firefox и Opera, наконец, откажутся от своих испорченных версий файла манифеста и начните использовать тот, который работает, который вы, вероятно, загрузили давным-давно.