Если браузер обнаружит что содержимое нового файла манифеста не изменилось, он прекращает процесс обновления и продолжает использовать ранее кэшированную копию. Эта потенциально препятствующая плану обновления практика имеет практическую цель. Повторная загрузка кэшированного приложения занимает время и расходует пропускную способность сети, поэтому браузеры выполняют ее только в тех случаях, когда это абсолютно необходимо.
Если вы внимательно читали этот материал, то должны были заметить здесь потенциальную проблему. Что если менять содержимое файла манифеста нет надобности, т.к. не были добавлены или удалены никакие файлы, но браузер все равно нужно заставить обновить кэш автономного приложения, поскольку содержимое некоторых файлов было изменено? В таких случаях следует незначительно изменить файл манифеста, чтобы он казался новым, хотя, по сути, не является таковым. Эту задачу лучше всего реализовать, вставив в файл манифеста комментарий:
CACHE MANIFEST# version 1.00.001 # Изображения и скриптыmaze.cssmaze.js # Картинкиface.pngmaze.pngeasy_maze.png
В следующий раз, когда нужно обновить кэш, просто измените номер версии, в этом примере на 1.00.002, и т.д. Таким образом мы можем заставить браузер обновить кэш и получаем способ отслеживать количество обновлений.
Новое содержимое не отображается в окне браузера сразу же после загрузки. Когда браузер обнаруживает новый файл манифеста, он загружает новые файлы в фоновом режиме и заменяет ими старые кэшированные файлы. Новое содержимое отображается, когда посетитель открывает или обновляет страницу.