ホームページ ウェブフロントエンド htmlチュートリアル h5オフラインキャッシュとは何ですか? h5 マニフェスト オフライン キャッシュ アプリケーション (コード付き)

h5オフラインキャッシュとは何ですか? h5 マニフェスト オフライン キャッシュ アプリケーション (コード付き)

Aug 08, 2018 pm 03:10 PM
html5

マニフェストとは何ですか?マニフェストは、minifest という名前のサフィックスが付いたファイルです。キャッシュする必要があるファイルは、マニフェスト ファイルの規則に従ってファイルをローカルに保存するため、ネットワーク リンクがない場合でも保存されます。 , ページにアクセスできます。

オフライン アクセスは、Web ベースのアプリケーションにとってますます重要になっています。すべてのブラウザにはキャッシュ メカニズムが備わっていますが、信頼性が低く、常に期待どおりに動作するとは限りません。 HTML5 は、ApplicationCache インターフェイスを使用して、オフラインによって引き起こされる問題のいくつかを解決します。

キャッシュ インターフェイスを使用すると、アプリケーションに次の 3 つの利点がもたらされます:

  1. オフライン ブラウジング - ユーザーはオフラインでも Web サイト全体を閲覧できます

  2. 速度 - キャッシュされたリソースはローカル リソースであるため、読み込み速度はゆっくり早く。

  3. サーバー負荷の軽減 - ブラウザーは、変更されたサーバーからのみリソースをダウンロードします。

App Cache (AppCache とも呼ばれる) を使用すると、開発者は、オフライン ユーザーがアクセスできるようにブラウザーがキャッシュするファイルを指定できます。ユーザーがオフライン中に更新ボタンを押した場合でも、アプリは正常に読み込まれて実行されます。

マニフェスト ファイルを参照します

アプリケーションのアプリケーション キャッシュを有効にするには、ドキュメントの HTML タグにマニフェスト属性を追加します。
マニフェスト属性は絶対 URL または相対パスを指すことができますが、絶対 URL は対応する Web アプリケーションのソースと同じです。マニフェスト ファイルには任意のファイル拡張子を使用できますが、正しい MIME タイプで提供する必要があります (下記を参照)。

<html manifest="/cache.manifest">
  ...
</html>

或

<html manifest="http://www.example.com/example.mf">
  ...
</html>
ログイン後にコピー

キャッシュしたい Web アプリのすべてのページに、manifest 属性を追加する必要があります。 Web ページにマニフェスト属性が含まれていない場合、ブラウザはそのページをキャッシュしません (属性がマニフェスト ファイルに明示的にリストされている場合を除く)。
これは、ユーザーが閲覧するマニフェストを含むすべての Web ページが暗黙的にアプリケーション キャッシュに追加されることを意味します。したがって、在庫内のすべてのページをリストする必要はありません。

マニフェスト ファイルは text/cache-manifest MIME タイプとして提供する必要があります。ファイルのサフィックス名はカスタマイズできるため (.manifest が推奨されます)、サーバー上で .manifest サフィックスを持つファイル タイプを text/cache-manifest として宣言する必要があります。 .manifest后缀的文件类型声明为text/cache-manifest。
以apache为例,我们需要在httpd.conf中加上:AddType text/cache-manifest .manifestApache を例として、次の追加を行う必要があります: AddType text/cache-manifest .manifest

マニフェスト ファイル構造

簡単なマニフェスト形式は次のとおりです:

CACHE MANIFEST
index.html
stylesheet.css
images/logo.png
scripts/main.js
ログイン後にコピー

例は、このマニフェスト ファイルを指定する Web ページ上の 4 つのファイルをキャッシュします。

次の点に注意する必要があります:

CACHE MANIFEST 文字列は最初の行にある必要があり、必須です。

ウェブサイトのキャッシュデータサイズは5MBを超えてはなりません。ただし、Chrome ウェブストア用のアプリを作成している場合は、unlimitedStorage を使用してこの制限を解除できます。

マニフェスト ファイルまたはその中で指定されているリソースをダウンロードできない場合、キャッシュ更新プロセス全体を続行できません。この場合、ブラウザは元のアプリケーション キャッシュを引き続き使用します。

より複雑な例を見てみましょう:

CACHE MANIFEST
# 2010-06-18:v2

# Explicitly cached 'master entries'.
CACHE:
/favicon.ico
index.html
stylesheet.css
images/logo.png
scripts/main.js

# Resources that require the user to be online.
NETWORK:
login.php
/myapi
http://api.twitter.com

# static.html will be served if main.py is inaccessible
# offline.jpg will be served in place of all images in images/large/
# offline.html will be served in place of all other .html files
FALLBACK:
/main.py /static.html
images/large/ images/offline.jpg
*.html /offline.html
ログイン後にコピー

「#」で始まる行はコメント行ですが、他の目的にも使用できます。たとえば、キャッシュの更新
アプリケーション キャッシュは、マニフェスト ファイルが変更された場合にのみ更新されます。たとえば、画像リソースを変更したり、JavaScript 関数を変更した場合、それらの変更は再キャッシュされません。ブラウザがキャッシュ ファイルを更新できるようにするには、マニフェスト ファイル自体を変更する必要があります。生成されたバージョン番号、ファイル ハッシュ、またはタイムスタンプを含むコメント行を作成すると、ユーザーはソフトウェアの最新バージョンを確実に入手できます。
「キャッシュの更新」セクションで説明されているように、新しいバージョンが表示された後にプログラムでキャッシュを更新することもできます。

ページにキャッシュ マニフェスト ファイルが導入されている場合、マニフェスト ファイルには現在のページで必要なすべてのファイル (css、js、image...) が含まれている必要があります。そうでない場合、キャッシュ マニフェスト ファイルはロードされません。他のすべてのファイルを示すには、NETWORK 項目にアスタリスク * を追加します。リストには CACHE、NETWORK、FALLBACK の 3 つの異なる部分を含めることができます。

キャッシュ:

これはエントリのデフォルトの部分です。このヘッダーの下にリストされているファイル (または CACHE MANIFEST の直後のファイル) は、初めてダウンロードされるときに明示的にキャッシュされます。

ネットワーク:

このセクションにリストされているファイルは、サーバーに接続する必要があるホワイトリストに登録されたリソースです。これらのリソースに対するすべてのリクエストは、ユーザーがオフラインであるかどうかに関係なく、キャッシュをバイパスします。ワイルドカードを使用できます。

FALLBACK:

このセクションはオプションであり、リソースにアクセスできない場合にフォールバック Web ページを指定するために使用されます。最初の URI はリソースを表し、2 番目の URI はフォールバック Web ページを表します。両方の URI は関連している必要があり、マニフェスト ファイルと同じ生成元を持つ必要があります。ワイルドカードを使用できます。

注意: セクションは任意の順序で配置でき、各セクションは同じリスト内で繰り返し表示できます。


次のリストは、ユーザーがオフラインでサイトのルートにアクセスしようとしたときに表示される「総合」ページ (offline.html) を定義しており、他のすべてのリソース (リモート サイト上のリソースなど) にはインターネットが必要であることも示しています繋がり。

CACHE MANIFEST
# 2010-06-18:v3

# Explicitly cached entries
index.html
css/style.css

# offline.html will be displayed if the user is offline
FALLBACK:
/ /offline.html

# All other resources (e.g. sites) require the user to be online.
NETWORK:
*

# Additional resources to cache
CACHE:
images/logo1.png
images/logo2.png
images/logo3.png
ログイン後にコピー

注意: マニフェスト ファイルを参照する HTML ファイルは自動的にキャッシュされます。したがって、リストに追加する必要はありませんが、追加することをお勧めします。

注意: SSL 経由で提供されるページに設定されている HTTP キャッシュ ヘッダーとキャッシュ制限は、キャッシュ マニフェストに置き換えられます。したがって、https 経由で提供される Web ページはオフラインで実行できます。

キャッシュの更新

次のいずれかが発生しない限り、アプリはオフラインでもキャッシュされたままになります:

  1. ユーザーが Web サイトのブラウザーのデータ ストレージをクリアします。

  2. マニフェストファイルが変更されました。注: マニフェストにリストされているファイルを更新しても、ブラウザーがリソースを再キャッシュするわけではありません。マニフェスト ファイル自体を変更する必要があります。

  3. アプリのキャッシュはプログラムによって更新されます。

おすすめ関連記事:

HTML5オフラインキャッシュとはマニフェスト_html5チュートリアルスキル

H5アプリケーションキャッシュ - マニフェスト特有の紹介

以上がh5オフラインキャッシュとは何ですか? h5 マニフェスト オフライン キャッシュ アプリケーション (コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HTMLの表の境界線 HTMLの表の境界線 Sep 04, 2024 pm 04:49 PM

HTML の表の境界線に関するガイド。ここでは、HTML でのテーブルの境界線の例を示しながら、テーブル境界線を定義する複数の方法について説明します。

HTML 左マージン HTML 左マージン Sep 04, 2024 pm 04:48 PM

HTML マージン左のガイド。ここでは、HTML margin-left の概要とその例、およびそのコード実装について説明します。

HTML のネストされたテーブル HTML のネストされたテーブル Sep 04, 2024 pm 04:49 PM

これは、HTML でのネストされたテーブルのガイドです。ここでは、テーブル内にテーブルを作成する方法をそれぞれの例とともに説明します。

HTML テーブルのレイアウト HTML テーブルのレイアウト Sep 04, 2024 pm 04:54 PM

HTML テーブル レイアウトのガイド。ここでは、HTML テーブル レイアウトの値と例および出力について詳しく説明します。

HTML入力プレースホルダー HTML入力プレースホルダー Sep 04, 2024 pm 04:54 PM

HTML 入力プレースホルダーのガイド。ここでは、コードと出力とともに HTML 入力プレースホルダーの例について説明します。

HTML 順序付きリスト HTML 順序付きリスト Sep 04, 2024 pm 04:43 PM

HTML 順序付きリストのガイド。ここでは、HTML 順序付きリストと型の導入とその例についても説明します。

HTML 内のテキストの移動 HTML 内のテキストの移動 Sep 04, 2024 pm 04:45 PM

HTML でのテキストの移動に関するガイド。ここでは、概要、マーキー タグが構文でどのように機能するか、および実装例について説明します。

HTML の onclick ボタン HTML の onclick ボタン Sep 04, 2024 pm 04:49 PM

HTML オンクリック ボタンのガイド。ここでは、それらの紹介、動作、例、およびさまざまなイベントでの onclick イベントについてそれぞれ説明します。

See all articles