私はクライアント用の HTML アプリに取り組んでいます。アプリ フロント エンド全体は、1 つの HTML ファイル、1 つの Javascript ファイル、1 つの CSS ファイル (および jquery)、およびいくつかの画像で構成されます。サーバーには、AJAX を使用して呼び出される php スクリプトがいくつかありますが、それはインターネット接続が利用可能な場合のみです。接続が利用できない場合、サイトはローカルにキャッシュされたデータを (を使用してlocalStorage
) 使用します。
サイトをオフラインで利用できるようにするために、HTML でキャッシュ マニフェストを宣言しています。私のHTMLは次のようになります。
<!DOCTYPE html>
<html manifest="cache.manifest.php" language="en">
...
</html>
のcache.manifest.php
出力は次のようになります。
CACHE MANIFEST
#VersionHash: 80b9345e6c39efbbe8431e394b014b4f
CACHE:
/css/ebot.css
/favicon.ico
/images/appicon.png
/images/list-arrow.png
/images/list-checkmark.png
/images/woman.png
/index.html
/js/jquery-1.8.3.min.js
/js/ebot.ls.js
NETWORK:
/emaillog.php
/getdata.php
/uploadlog.php
ここまでは順調ですね。現在、インターネット接続が利用可能なブラウザからサイトにアクセスしています。サイトがオフラインで使用するために情報を保存することを許可するかどうかを尋ねる小さな通知が表示されます - 許可します。設定を確認すると、サイトに 316K のデータが保存されていることがわかります。これはほぼ正しい値です。
ここで、インターネット接続をオフにしてアクセスしようとするhttp://www.mysite.com/index.html
と、「インターネット接続が利用できません」というエラー メッセージが表示され (またはその程度のもの)、ページが表示されません。これは、開発マシン (firefox、safari、chrome) とクライアントの ipad (アプリは最終的には ipad で使用される) でテストした 3 つのブラウザーで発生しています。
ここで何が欠けていますか?私は何を間違っていますか?