アップデート:
**この機能が本当に新しいときにこの質問を投稿しましたが、JavaScriptを介して使用しない限り、この機能をこのように使用するべきではないことに気付きました。しかし、このハックは、同じ間違いを犯してこの機能を誤用するほとんどの初心者にとって素晴らしい解決策のようです。HTML以外のすべてをキャッシュしたい場合は、JSで行うか、以下のソリューションを使用できます**
私の質問はこれに要約されると思います。HTMLタグのマニフェスト属性を使用してマニフェストを参照するファイルがMASTERCACHEENTRIESに該当する場合、動的ページでマニフェストを使用するにはどうすればよいでしょうか。
私のファイルは次のようになります。
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:
*
ここで問題となるのは、マニフェストにないページ、index.phpなどの実際の動的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
これまでのところ、実際にページをロードしてchromeが実行されるまでは、次のようになります。
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.
これらのオンラインホワイトリストワイルドカードフラグの1つを使用して、ブロックに設定したいのですが、これ以上の説明や例は見つかりません。私も読んだ:
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).
このようなパターンも使用したいのですが、ドキュメントが見つかりません。私のchromeappcacheディレクトリに何も表示されないのに、appcacheマニフェストのドキュメントの兆候がなく、私が行ったことのある他のWebサイトがそれを使用していないのはなぜですか!?!?
お時間をいただきありがとうございます!