Я попробовал простую страницу с вашим манифестом кеша, и он работал нормально для меня, поэтому я не совсем уверен, в чем проблема. Но,
- Да, с форматом что-то не так. Записи в разделе FALLBACK должны состоять из двух частей: шаблона и URL-адреса. В нем говорится: «Если какая-либо страница, соответствующая шаблону, недоступна в автономном режиме, вместо этого отобразите URL-адрес (который будет кэширован)». Основным примером этого (, как показано здесь ) является "/ /offline.html", что означает "для всех страниц, если мы не в сети и они не кэшированы, вместо этого отобразите /offline.html". Однако я не думаю, что это является источником вашей проблемы, поскольку я проверил ее с вашим точным манифестом, и она все еще работала.
- В файлах JS нет ничего особенного. Должно быть хорошо, чтобы загрузить их в кэш.
- Я не понимаю третий вопрос. Здесь, возможно, есть две цели: а) как проверить, есть ли более новая версия файла, доступная онлайн, прежде чем вернуться в кэш, и б) как проверить сеть, чтобы увидеть, есть ли файл, который не кэшируется, и если мы не в сети, вернемся к странице ошибки. Ответ (а) заключается в том, что после включения манифеста кэша все работает совсем по-другому. никогда не будет проверять наличие новых версий файлов, если только не существует новой версии манифеста. Поэтому вы всегда должны обновлять манифест всякий раз, когда вы меняете какие-либо файлы. Ответом на (б) является раздел ОБОРОТА.
См. Dive Into в HTML5 , отличную главу по этому вопросу, в частности раздел «Искусство отладки, или« Убей меня! Убей меня сейчас! »», В котором объясняется, как обновляется манифест.
Кроме того, я не думаю, что мы дошли до сути вашего вопроса, потому что неясно, что вы подразумеваете под "приложением не загружать файлы с первого раза". Какие файлы не загружаются? Они правильно загружаются после обновления? И т.д.