2

アプリケーションをオフライン モードで実行するために、Html5 アプリ キャッシュを操作しようとしました。このために、test.html ファイルと demo.appcache を作成しました。

この HTML ページでは、ローカル ホストからいくつかの画像を使用しています。ローカル ホストが実行されているときは、正常に動作しています。しかし、ローカル ホストを停止しようとすると、アプリのキャッシュから画像が取得されません。出力は単に空のページとして表示されます。

これが私のsampletest.htmlです

<!DOCTYPE html>

<html manifest="demo.appcache">

<head>
</head>

<body>
Further modified........Test Again
<img src="http://172.17.0.238/SampleImages/two.jpg" width="225" height="151" alt="Milford Sound in New Zealand" />

</body></html>

デモ.appcache

CACHE MANIFEST
CACHE:
sampletest.html
NETWORK:

後退する:

私のコードに何か問題がありますか。CACHEの下で:htmlファイルをロードしました。ただし、ローカル ホストが利用できない場合、アプリ キャッシュから html をロードしません。

何か助けて... よろしく、ロケシュ。

4

3 に答える 3

0

ページに必要なすべてのリソース(画像、外部JavaScript、CSSなど)をマニフェストに含める必要があります。

于 2012-04-24T13:17:14.860 に答える
0

同様の問題があります。私の場合、Android デバイスで WevView を使用しています。ホストに到達できないことを登録するのに 9 分しかかかりません。その後、appcache からロードされます。他のエージェントがそのように振る舞うかどうかはわかりませんが、試してみる価値はあります ;)


とにかく、最初のエントリの場合は CACHE セクションを宣言する必要はありません:

   CACHE MANIFEST
   sampletest.html
   NETWORK:

NETWORK または FALLBACK を使用した後にキャッシュするコンテンツを追加する場合のみ:

   CACHE MANIFEST
   sampletest.html

   NETWORK:
   *

   FALLBACK:
   online.html offline.html

   CACHE:
   additionalContent.html

しかし、なぜこれが可能でなければならないと決めたのか、私に尋ねないでください;)

于 2012-08-01T08:55:24.303 に答える
0

あなたが直面している問題は、主に状況に応じて異なるエラー コードが原因です。コンピューターがインターネットにアクセスできない場合、サーバーにアクセスしようとせず、appcache からロードしようとします。

問題は、コンピューターがインターネットにアクセスでき、サーバーの電源を切ると、エラーが異なることです (おそらく 4xx または 5xx または同等のエラーが返されます)。これはサーバーの問題であり、ユーザーの問題ではないため、キャッシュのロードに失敗します。

それ以外の場合、マニフェストのフェッチが他の方法で失敗した場合 (サーバーが別の 4xx または 5xx 応答または同等の応答を返す、DNS エラーがある、接続がタイムアウトする、ユーザーがダウンロードをキャンセルする、またはマニフェストのパーサーが失敗するなど)。マジック シグネチャをチェックするとき)、またはサーバーがリダイレクトを返した場合、またはリソースが text/cache-manifest 以外の MIME タイプでラベル付けされている場合は、キャッシュ障害の手順を実行します。

これはここに文書化されています: http://www.w3.org/TR/2011/WD-html5-20110525/offline.html#downloading-or-updating-an-application-cache

于 2015-07-04T05:13:09.403 に答える