14

私はキャッシュマニフェストファイルをいじって、それが宣言されているページのキャッシュを停止するようにしようとしています。

HTML5Rocksから

マニフェストを含むユーザーが移動するページは、アプリケーションキャッシュに暗黙的に追加されます

エース。マニフェストファイルに特定のアーティファクトをキャッシュしたいのですが、そのうちの1つはオンラインシングルページアプリHTMLのオフラインバージョンですが、オンラインバージョンはキャッシュしません。

4

1 に答える 1

17

これが私が問題を解決した方法です。私のマニフェストファイル

CACHE MANIFEST
# Version 0.1

CACHE:
# Minimised Styles
/css/style.0.1.min.css

# Minimised JavaScript
/js/script.0.1.min.js

FALLBACK:
/ /offline.html

NETWORK:
*

オフライン時にmydomain.com/に移動するものはすべて、(キャッシュから)/offline.htmlに移動することに注意してください。

ここで、 mydomain.com /のオンラインページを含めずに、マニフェストファイルにあるものだけをキャッシュする方法を説明します。

mydomain.com/のページの下部に次のiframeを配置します

<iframe src="/offline.html" style="display: none;"></iframe>

そしてmanifest="myapp.appcache"offline.htmlに入れます。

これは、mydomain.com /がロードされたときに、キャッシュされないことを意味します(ページにマニフェスト属性がないため)。次に、ブラウザはiframeを介してoffline.htmlを取得し、HTML属性が存在するため、offline.htmlページを含め、マニフェストファイルの指示を使用してキャッシュするその他すべてが追加されます。

私が見ることができる唯一のオーバーヘッドは最初のページのロードであり、iframeは追加のHTTPリクエストを作成しますが、キャッシュされるとキャッシュから取得されるため、大きな問題ではありません。

于 2012-08-24T07:46:59.780 に答える