Кажется, что после того, как у вас есть манифеста, a la:
<html manifest="cache.manifest">
Затем эта страница (главная запись в кеше) всегда будет кэшироваться (по крайней мере, Safari), пока пользователь не сделает что-то, чтобы удалить кеш, даже если вы позже удалите атрибут манифеста из тега html и обновите манифест (путем изменения чего-то внутри него), заставляя перезапись главной записи вместе со всем остальным.
Другими словами, если у вас есть:
- index.html(с установленным манифестом)
- file1.js(ссылка в манифесте)
- file2.js(ссылка в манифесте)
- cache.manifest(перечисляет два js файлы)
- удаление записи манифеста из index.html и модификация манифеста (так что срок его действия истекло для браузера и перезагрузки всего содержимого) не заставит эту страницу вести себя, как если бы он все еще полностью кэшировался. Если вы посмотрите источник на index.html, вы больше не увидите указанный манифест, но браузер все равно будет запрашивать только файл cache.manifest, и если этот контент не будет изменен, никакие другие изменения в каких-либо файлах не будут показаны пользователь.
Кажется, это довольно вопиющая ошибка, и она присутствует на iOS, а также на Mac версии Safari. Кто-нибудь нашел способ сброса страницы и избавления от кеша без вмешательства пользователя?