2011-01-31 17 views
11

ファイルをキャッシュするかどうかを指定するHTML5機能(manifest.cacheファイル内)を使用する場合、可能なディレクトリ全体を指定できますか? CACHE:セクションの下にあるimagesディレクトリにパスを置き、それをそのディレクトリ内のすべてのファイルに適用できますか、またはキャッシュするイメージファイルを明示的に指定する必要がありますか?新しいHTML5 manifest.cacheファイルにディレクトリへのパスを含めることはできますか?

つまり、これは可能ですか?

CACHE MANIFEST 

... 

CACHE: 
images/ 

...多分これですか?

CACHE MANIFEST 

... 

CACHE: 
images/* 

...または私はこれを行う必要がありません。

CACHE MANIFEST 

... 

CACHE: 
images/logo.png 
images/image01.jpg 
images/image02.jpg 
images/image03.jpg 
... (etc) 
+0

2番目の作品は私が信じています。さらなる例については、[アプリケーションキャッシュでオフラインにする](http://html5doctor.com/go-offline-with-application-cache/)を参照してください。 –

答えて

15

残念ながら、第三の例が正しいものである - すべてのファイルを個別リスト。 html5 doctor articleは、質問が掲載された時点で間違っていて、改訂されました。

NETWORK: 
* 

あなたがオンラインで閲覧している間に、すでに(通常通り)ダウンロードされていない場合はすべての必要なファイルをダウンロードすることができます。
ワイルドカード*は、唯一の「オンラインホワイトリスト」の項で許可されています。
フォールバックセクションの「ページ・パスパターン」もあります:

FALLBACK: 
//offline.html 

ちょっとワイルドカードのように動作します。最初の/はサイトのページのパスと一致するため、キャッシュに見つからないページは/offline.htmlを代替代替として使用します。

1

PHPファイルの助けを借りて.manifest(またはあなたの例では.cache)ファイルをビルドすることで、「ワイルドカード」を達成できると思います。このようにして、各ファイル名をエコーするディレクトリをスキャンすることによって、PHPがファイル名を維持するという面倒を処理できるようになります。おそらく実際にPHPが.manifestファイルをあなたのサーバーに置くことを可能にするでしょう。そうしないと、オフラインアプリケーションはマニフェストファイルが更新され、キャッシュを絶えずリフレッシュしたと考えることができます。

関連する問題