HTML5 アプリケーションのキャッシュ
HTML5 を使用すると、キャッシュ マニフェスト ファイルを作成することで、Web アプリケーションのオフライン バージョンを簡単に作成できます。
アプリケーションキャッシュとは何ですか?
HTML5 ではアプリケーション キャッシュが導入されています。これは、インターネット接続がない場合でも Web アプリケーションをキャッシュしてアクセスできることを意味します。
アプリキャッシュはアプリに 3 つの利点をもたらします:
オフラインブラウジング - ユーザーはオフラインでもアプリを使用できます
速度 - キャッシュされたリソースの読み込みが速くなります
サーバー負荷の軽減 - ブラウジングのみ更新または変更されたリソースをサーバーからダウンロードします。
ブラウザのサポート
Internet Explorer 10、Firefox、Chrome、Safari、Opera はアプリケーション キャッシュをサポートします。
HTML5 キャッシュ マニフェストの例
次の例は、キャッシュ マニフェストを含む HTML ドキュメントを示しています (オフライン ブラウジング用) ):
インスタンス
<!DOCTYPE html> <html manifest="demo_html.appcache"> <head> <meta charset="UTF-8"> <title>php中文网(php.cn)</title> </head> <body> <script src="demo_time.js"> </script> <p id="timePara"><button onclick="getDateTime()">获取日期和时间</button></p> <p><img src="logo.png" width="336" height="69"></p> <p>尝试打开 <a href="#" target="_blank">这个页面</a>, 在离线的状态下重新载入这个页面,页面也可以访问。</p> </body> </html>
インスタンスの実行»
「インスタンスの実行」ボタンをクリックしてオンラインインスタンスを表示します
キャッシュマニフェストの基本
アプリケーションキャッシュを有効にするには、ドキュメントを確認してください。 html> タグにはマニフェスト属性が含まれています:
<html マニフェスト="demo.appcache">
...
</html>
ユーザーがアクセスすると、指定されたマニフェストを含むすべてのページがキャッシュされます。マニフェスト属性が指定されていない場合、ページはキャッシュされません (マニフェスト ファイルで直接指定されていない限り)。
マニフェスト ファイルの推奨ファイル拡張子は「.appcache」です。
マニフェスト ファイルは正しい MIME タイプ、つまり「text/cache-manifest」で構成する必要があることに注意してください。 Web サーバー上で設定する必要があります。
マニフェスト ファイル
マニフェスト ファイルは、何がキャッシュされているか (何がキャッシュされていないのか) をブラウザーに伝える単純なテキスト ファイルです。
マニフェスト ファイルは 3 つの部分に分けることができます:
キャッシュ マニフェスト - この見出しの下にリストされているファイルは最初のダウンロード後にキャッシュされます
ネットワーク - この見出しの下にリストされているファイルはサーバーへの接続が必要ですキャッシュされずに
FALLBACK - この見出しの下にリストされているファイルは、ページに到達できない場合 (404 ページなど) のフォールバック ページを指定します
CACHE MANIFEST
最初の OK、CACHE MANIFEST が必要です:
/theme.css
/logo.gif
/main.js
上記のマニフェスト ファイルには、CSS ファイル、GIF 画像、JavaScript ファイルの 3 つのリソースがリストされています。マニフェスト ファイルが読み込まれると、ブラウザはこれら 3 つのファイルを Web サイトのルート ディレクトリからダウンロードします。その後、ユーザーがインターネットから切断しても、これらのリソースは引き続き使用できます。
NETWORK
次の NETWORK セクションでは、ファイル "login.php" が決してキャッシュされず、オフラインでは使用できないことを指定します。
login.php
アスタリスクは、その他すべてを示すために使用できます。リソース/ファイルにはインターネット接続が必要です:
*
FALLBACK
次の FALLBACK サブセクションでは、インターネット接続を確立できない場合、/html5/ ディレクトリ内のすべてのファイルが "offline.html" に置き換えられることを指定します。
/html/ /offline.html
注: 最初の URI はリソース、2 番目の URI はフォールバックです。
キャッシュを更新する
アプリがキャッシュされると、次のことが起こるまでキャッシュされたままになります:
ユーザーがブラウザのキャッシュをクリアする
マニフェストファイルが変更される(以下のヒントを参照)
更新手順によるアプリケーションキャッシュ
例 - 完全なマニフェストファイル
# 2012-02-21 v1.0.0
/theme.css
/logo.gif
/main.js
NETWORK:
login.php
フォールバック:
/html/ /offline.html
ヒント:「#」で始まる行はコメント行ですが、他の目的にも使用できます。アプリケーションのキャッシュは、マニフェスト ファイルが変更されると更新されます。画像を編集したり、JavaScript 関数を変更したりしても、これらの変更は再キャッシュされません。コメント行の日付とバージョン番号を更新すると、ブラウザにファイルが再キャッシュされます。
アプリケーションキャッシュに関する注意
キャッシュの内容にご注意ください。
ファイルがキャッシュされると、サーバー上のファイルを変更したとしても、ブラウザにはキャッシュされたバージョンが表示され続けます。ブラウザのキャッシュを確実に更新するには、マニフェスト ファイルを更新する必要があります。
注: ブラウザーによって、キャッシュされたデータの容量制限が異なる場合があります (ブラウザーによっては、サイトごとに 5MB の制限を設定している場合があります)。