UPDATE:
** Я разместил этот вопрос, когда эта функция была действительно новой, теперь я понимаю, что эту функцию нельзя использовать таким образом, если она не используется через JavaScript. но похоже, что этот хак - отличное решение для большинства новичков, которые совершают ту же ошибку и неправильное использование этой функции. Если вы хотите кэшировать все, кроме своего HTML, это должно быть сделано с помощью JS или вы можете использовать решение ниже **
Думаю, мой вопрос сводится к следующему: Если файл, ссылающийся на манифест, используя атрибут манифеста HTML-тега, попадает под заголовки MASTER CACHE, как вы можете использовать динамическую страницу с манифестом.
Мой файл выглядит следующим образом:
CACHE MANIFEST
CACHE:
# IMAGES:
/stylesheets/bg.jpg
/stylesheets/cont_bg.png
#and so forth..
#EXTERNAL
http://chat.mydomain.com/themes/images/panel_bg.png
http://chat.mydomain.com/themes/images/images_core.png
####################################
#STYLE SHEETS:
/stylesheets/min.css
/stylesheets/css_night.aspx
#####################################
#JAVASCRIPT:
/JAVASCRIPT/header_javascript.js
#EXTERNAL:
http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js
http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js
FALLBACK:
/ /offline.php
NETWORK:
*
Теперь проблема в том, что я просматриваю страницу не в манифесте, мои фактические динамические php файлы, такие как index.php, когда я впервые вижу страницу и там нет кеша хром:
Adding master entry to Application Cache with manifest http://208.109.248.197/manifest.appcache
Application Cache Downloading event
Application Cache Progress event (0 of 28)
...
Application Cache Progress event (28 of 28)
Application Cache NoUpdate event
Пока все хорошо, пока я на самом деле не загружаю страницу, а хром идет:
Application Cache UpdateReady event
Adding master entry to Application Cache with manifest http://mydomain.com/manifest.appcache
теперь, как вы можете видеть в последней строке, он добавляет index.php в мой кэш приложений, и я проверил это, перейдя на url: chrome://appcache-internals/
В нем говорится:
Flags URL Size (headers and data)
Explicit, http://mydomain/JAVASCRIPT/header_javascript.js 57.5 kB
Master, http://mydomain/home.php 51.2 kB
Master, http://mydomain/index.php 53.5 kB
Master, Fallback, http://mydomain/offline.php 49.4 kB
когда вещи, такие как index.php и home.php, не должны кэшироваться. Я хотел бы сказать, чтобы он не кэшировал любые расширения html, если это было возможно. Но вот что я узнал из разных RFC, я считаю: Подстановочный флаг белого белого списка, который либо открыт, либо блокирован.
The open state indicates that any URL not listed as cached is to be implicitly treated as being in the online whitelist namespaces; the blocking state indicates that URLs not listed explicitly in the manifest are to be treated as unavailable.
Я хотел бы использовать один из этих флажков подстановочных белых белых списков и настроить его на блокировку, но я больше не могу найти никаких объяснений или примеров. Я также читал:
zero or more URLs that form the online whitelist namespaces.
These are used as prefix match patterns, and declare URLs for which the user agent will ignore the application cache, instead fetching them normally (i.e. from the network or locale HTTP cache as appropriate).
Я также хотел бы использовать некоторый шаблон, подобный этому, но потом я не могу найти никакой документации. Почему нет никаких признаков документации для приложения appcache, и ни один другой веб-сайт, к которому я был, использует его, поскольку в моем каталоге hrome appcache нет ни одного!?!?
Спасибо за ваше время!