Я использую манифест HTML5, чтобы приложение могло работать в автономном режиме.У меня есть ресурс - скажем, / background.png - который может время от времени обновляться, но если приложение находится в автономном режиме, последняя полученная версия подходит для использования.Я хочу, чтобы браузер запрашивал / background.png в обычном режиме, если он подключен к Интернету, но должен возвращаться к кешированной версии, если запрос не выполняется, поскольку он отключен, сервер выключен и т. Д.
В моем тестировании наличие записи манифеста типа
NETWORK:
/background.png
заставило браузер всегда пытаться запросить ресурс.Он вернул бы ошибку, а не возвращал копию из кэша приложения, если бы он находился в автономном режиме.Это не то, что я хочу, но именно так должна вести себя СЕТЬ, как я понимаю.
Я также пытался
FALLBACK:
/background.png /background.png
, надеясь, что это может означать "возврат к копии кэша, есливы не можете получить новый ", но в этой конфигурации браузер не пытается запросить ресурс, если он находится в сети.
Еще одна возможность, которую я рассмотрел, была
CACHE:
/offline-background.png
FALLBACK:
/background.png /offline-background.png
, но сдва разных имени для одного и того же ресурса - и один и тот же ресурс запрашивался дважды (один раз для img src = "background.png" и один раз для кэшированной автономной копии) - казалось непривлекательным хаком.
Я мог бы также внести произвольное изменение в манифест при изменении background.png , но это заставило бы браузер проверить все в манифесте.
Возможно ли этополучить шаблон «использовать то, что у меня есть, если я не могу получить новый» из манифеста HTML5?Это похоже на разумную модель, поэтому я думаю, что был бы чистый способ сделать это.Если нет, может кто-нибудь предложить другой подход?Заранее спасибо!
РЕДАКТИРОВАТЬ: оригинальный вопрос ссылался на "news.json", подразумевая, что ресурс был получен с помощью JavaScript, но я изменил его на "background.png", чтобы сделать его более понятным, чтоЯ хотел бы сделать это с любым ресурсом, используемым страницей.