В моем манифесте кэша приложения HTML5 все кэшируется.

ОБНОВЛЕНИЕ:

** Я разместил этот вопрос, когда эта функция была действительно новой, теперь я понимаю, что эту функцию нельзя использовать таким образом, если она не используется через JavaScript . но похоже, что этот прием - отличное решение для большинства новичков, которые допускают ту же ошибку и злоупотребляют этой функцией. Если вы хотите кэшировать все, кроме вашего HTML, это следует делать с помощью JS, или вы можете использовать решение ниже **

Думаю, мой вопрос сводится к следующему: Если файл, ссылающийся на манифест с использованием атрибута manifest тега HTML, подпадает под ЗАПИСИ В МАСТЕР КЭШЕ, как вы могли бы иметь динамическую страницу, использующую манифест?

Мой файл выглядит так:

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 и ни один другой веб-сайт, на котором я был, его не использует, поскольку в моем каталоге chrome appcache ничего нет!?!?

Спасибо за ваше время!

23
задан Neo 30 January 2013 в 23:04
поделиться