Манифест кэша HTML5: только откат, без кэширования

Я создал веб-приложение, которое должно всегда использовать самые последние файлы и ничего не кэшировать. НО, когда клиент выходит из сети, он должен отображать «offline.html», который постоянно пытается загрузить «index.php» каждые 30 секунд.

Вот в чем дело: мой index.php также кэшируется, потому что у него есть тег манифеста. Но это искажает функциональность моего веб-приложения.

Поэтому я хотел спросить, каковы лучшие решения для использования манифеста кеша только в качестве запасного варианта, а не для кэширования чего-либо еще?

index.php

<html manifest="/cache.manifest">

кеш.манифест

CACHE MANIFEST

FALLBACK:
/ /offline.html

NETWORK:
*

Я нашел это решение здесь https://stackoverflow.com/a/19974768/1311566 где парень использует iframe для загрузки html с тегом манифеста в нем, чтобы index.php не кэшировался. Но я хотел знать, есть ли другие или, может быть, даже лучшие решения.

Заранее большое спасибо, Стефан


person Stee    schedule 02.06.2014    source источник


Ответы (1)


Решение, описанное в https://stackoverflow.com/a/19974768/1311566, является правильным. Это единственный способ предотвратить кэширование файлов HTML и вернуться к /offline.html только в случае сбоя запросов.

Я создаю офлайн-совместимые приложения на основе applicationCache уже более 3 лет, и поверьте мне, это единственный способ. Если вам нравится хороший JS API для iframe Hack (и многое другое), вы можете использовать библиотеку, которую я создал: https://github.com/gr2m/appcache-nanny

Кстати, этот взлом iframe был изобретен командой Financial Times Labs, они составили отличный учебник с большим количеством справочной информации по нему: http://labs.ft.com/category/tutorial/

person Gregor    schedule 26.06.2014