基本的な所は色んなブログとかがあるので、ググると良いと思う。
- A Beginner's Guide to Using the Application Cache http://www.html5rocks.com/en/tutorials/appcache/beginner/
- HTML5 のオフライン機能(Eiji Kitamura) @agektmr http://d.hatena.ne.jp/nakamura001/20111103/1320327036
調べたのはもうちょっと微妙な所です。ちなみにOSX版のGoogle Chrome15.0.874.106で調べた。 間違ってたらコメントください。
- CACHEにあるものは一度キャッシュされたらオンラインの状態でも更新されない(リロードボタンを押しても同じ)
- manifestを更新すれば、2回目の再読み込みでAppCacheが更新される manifest更新後、一回目の再読み込みでは変更されないことに注意。
- manifestの変更は、コメント行でもOK。なので#VERSION 1みたいな行を付けるのが定石
- CACHEとNETWORK両方にエントリがあると、CACHEの方が勝つ=オンラインでも更新されない
- manifest設定をしているhtmlファイルそのものは暗黙でキャッシュされることに注意。(なので明示的に書いたほうが良いマナー。)
- NETWORKとFALLBACKの両方にエントリがある場合、NETWORKの方が優先されて、FALLBACKしないっぽい。FALLBACKさせるリソースはNETWORKに書かない
- つまり、設定が強いのはCACHE>NETWORK>FALLBACKの順。常にネットワーク参照させたいリソースはCACHEに書かないし、FALLBACKさせたいコンテンツはNETWORKに書かない。
WebKitベースのスマートフォンブラウザは基本的に対応してると考えて良いので、スタティックなコンテンツは積極的にAppCacheに入れてくのが良さそうだ。
<追記>思ったんだけど更新が必要なリソースにおいてそれがキャッシュなのか古いデータなのか分からない設計はそもそも良くないので適切なデータにFALLBACKさせるべきと思った。
0 件のコメント:
コメントを投稿