2012-02-08 9 views
1

私のHTML5アプリケーションでは、書籍を表すいくつかのHTMLファイルがあります。各「書籍」には、その書籍に固有の画像が含まれています。各ブックファイルには、すべての書籍で共有されるCSSおよびJavaScriptファイルへの参照も含まれています。HTML5アプリケーションキャッシュにページ固有のイメージと共有リソースの両方を含む複数のHTMLページをキャッシュする方法はありますか?

インターネット接続なしで閲覧できるように、書籍をHTML5アプリケーションキャッシュにキャッシュします。私は、各HTMLブックファイルのマニフェストファイルを作成しなければならないと思います。共有リソースへの参照とブック内のイメージが含まれています。以下のよう

CACHE MANIFEST 
Js/Book.js # Shared 
Css/Book.css # Shared 
Images/Book1-cover.png # Book-specific 

とBook2.appcache:

CACHE MANIFEST 
Js/Book.js # Shared 
Css/Book.css # Shared 
Images/Book2-cover.png # Book-specific 
よう

<html manifest="Book2.appcache"> 

とBook1.appcache:

<html manifest="Book1.appcache"> 

か:HTMLファイル内のタグは、次のようになります

このデザインについてはわかりませんが、このように、それぞれの本は独自の「アプリケーション」であると思われますが、そうではありません。また、共有されたCSSファイルとJSファイルが複数回キャッシュされるのではなく、各書籍ごとに1回ですか?誰もが良いソリューションをお勧めできますか?

答えて

1

あなたの質問は100%明確ではありませんが、私はそれをどのように解釈したのですか? あなたが各書籍のために2つの別々のファイルを保存することができますが、そのようにそれを格納すると、あなたのキャッシュにbook.jsとbook.cssのtwiseを書き込むことが原因となるので、あなたが何をする必要があるかです:

Book1.html:

<html manifest="Book.appcache"> 
<img src="book1-cover.png"> 

Book2.html:

<html manifest="Book.appcache"> 
<img src="book2-cover.png"> 

Book.appcache:

CACHE MANIFEST 
Js/Book.js 
Css/Book.css 
Book1.html 
Book2.html 
Images/Book1-cover.png 
Images/Book2-cover.png 

あなたは2つの別々のHTMLファイルを作り、キャッシュします。

+0

実際、私の質問は100%明確ではありません。本は異なるブラウザーを所有する異なる人々によって作成されます。あなたのアプローチは唯一の実行可能な方法かもしれません。私が正しいとすれば、マニフェストファイルに新しい本が追加されるとすぐに、他の書籍のキャッシュは「古い」とマークされ、ブラウザによって自動的に更新されるという欠点があります。 – Jeroen

+0

私のマニフェストファイルに常に新しい内容を追加します(自動的に)、すべてがまだ厳しいように表示されています...試してみてください:) –

+0

@Jeroen私は間違いを犯したようですが、マニフェストはurのインデックスページでのみ必要です(ちょうどトラフを通過して気付きました:p) –

関連する問題