Используйте HTML5 appCache с динамической страницей Django - PullRequest
6 голосов
/ 07 января 2011

Я экспериментирую с функцией appCache HTML5, так как наше веб-приложение использует много графических ресурсов.Также большинство страниц не статические, а динамические, основанные на Django.

Проблема в том, что когда appCache используется для страницы (больше похоже на RESTFUL url), она автоматически загружает эту страницу, но кажется, что нет способа принудительно сделать эту страницу недействительной, если на ней есть обновленияэта страница без изменения файла манифеста на стороне сервера.

Мой вопрос: означает ли это, что я не могу использовать appcache на любых динамических страницах?если нет, то как мне это сделать?

Ответы [ 2 ]

1 голос
/ 15 февраля 2012

Мне кажется, у нас похожая проблема:

Мой манифест кэша приложений HTML5 кэширует все

Я не нашел окончательного ответа, но из того, что я узнал, кажется, что манифест предназначен не для каждой страницы. Опять же я не уверен, но это хак, с которым я столкнулся. У меня есть страница, такая как manifest.html, которая имеет

<html manifest="manifest.appcache"> 

Я узнал, что страницы, не имеющие этого, не будут добавлены в кэш, однако они все равно будут продолжать использовать кэш приложения, если он находится в том же домене. Поэтому, если вы включите manifest.html обычную html-страницу, содержащую это в iframe на каждой странице, она не будет кэшировать эту страницу, например chrome, больше не будет выводить:

Adding master entry to Application Cache with manifest 

но если вы перейдете на вкладку сети, вы увидите, что она использует кэш

поэтому вместо атрибута манифеста в теге html поместите это в начало тела: <iframe id='manifest_iframe_hack' style='display: none;' src='temporary_manifest_hack.html'>

содержимое файла timer_manifest_hack.html:

<!DOCTYPE HTML>
<html lang="en" id="sexxymofo" class="no-js" manifest="manifest.appcache">
    <head>
        <meta charset="utf-8">
        <title>Hack 4 Manifest</title>
    </head>
    <body></body>
</html>

теперь, так как вы не указали свою проблему конкретно, я беспокоюсь, что у вас может быть проблема с действительным манифестом, имейте в виду, что в манифесте нет подстановочных знаков, используйте этот URL для проверки: http://manifest -validator.com / Validate

самая простая ошибка приведет к тому, что манифест будет недействительным, и appcache не будет использоваться, используйте Chrome для отладки, так как консоль будет регистрировать каждый шаг процесса, также посмотрите этот URL в chrome: хром: // AppCache-Внутренности /

Снова взгляните на мой вопрос в ответе выше, чтобы узнать больше

1 голос
/ 03 октября 2011

Файлы манифеста в HTML5 не предназначены для обработки динамически меняющихся ресурсов.Его назначение - общие и постоянные ресурсы, используемые в масштабах всего приложения: такие вещи, как CSS, JavaScript и элементы интерфейса (значки, кнопки, логотипы, фоны и т. Д.), Которые формируют внешний вид приложения (даже если он не используется в текущей версии).Посмотреть).Это позволяет предварительно выбирать и кэшировать общие ресурсы, так что каждое представление должно загружать только свой индивидуальный контент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...