HTML5 の Web ストレージとアプリケーション キャッシュに、ゆっくりと、しかし確実に夢中になっています。
これが私の例です: http://daviddarx.com/stuffs/work/custom/54/
キャッシュ マニフェストは有効であり、http://manifest-validator.com/ でテストされています: http://daviddarx.com/stuffs/work/custom/54/cache.manifest
うまくいかなかったので、私は非常に単純な作業例を取り上げ、コードとデータの一部を少しずつ追加して、もう一度テストしました。
簡単な例から始めると、すべてがうまく機能します。iPhone を機内モードにすると、Web サイトの起動時にオフライン メッセージが表示されますが、結果は表示されます。
いくつかのアセット (ページ内の HTML コード、1 ~ 2 個の画像など) を追加しても、まだ機能しています。
さらにアセット (たとえば、css と関連するすべての画像) を追加すると、問題が発生します... プレーン モードにしてからページを開くと、通常のメッセージが表示されます (作業中)、別のメッセージが表示され、再試行するかキャンセルするように求められます。キャンセルするとサイトが表示されずにアプリが閉じてしまい、リトライボタンを押しても同じメッセージが何度も出てしまう…。
私は本当にそれについて何をすべきかわかりません。テストの前に毎回キャッシュ マニフェストを検証し、URL を変更するたびに、すべてが確実にリセットされるようにしました。
これは、キャッシュされたファイルの重みと関係がありますか? サイズやファイルの制限はありますか?
もう 1 つの注意点: テストの前に、自分のコンピューターのコンソールで自分のページを常にチェックして、それが明らかな問題ではないことを確認します。実際、すべてのアセットがロードされた状態で、デスクトップ ブラウザーで試行するたびに成功します。
それがどこから来るのか知っていますか?
編集:私は再び多くのテストを行いましたが、まだ動作しません。
状況の概要は次のとおりです。
- これが私がテストしているバージョンです: http://daviddarx.com/stuffs/work/custom/61/
2. これは私のキャッシュ マニフェストです: http://daviddarx.com/stuffs/work/custom/61/manifest.appcache http://manifest-validator.com/ によると完全に有効です。
3. Chrome (デスクトップ) にページをロードしてコンソールに表示すると、すべて問題ありません。すべての要素がキャッシュされ、更新するとキャッシュは問題ありません。
4. デスクトップ クロームにページをロードしてネットワーク パネルを見ると、すべてがキャッシュからロードされていることがわかります。不足しているファイルはありません。
5. デスクトップ コンピューターをインターネットから切断しても、機能しています。接続せずにクロムでウェブサイトを閲覧すると、ページを表示でき、すべて問題なく、Iphone にあると予想されます。
6. IPhone を使用して初めて Web サイトにアクセスすると、すべて問題ありません。モバイル サファリのコンソールにエラーはありません。「飛行機モード」をオンにしてサファリに戻ると、以前は表示できなかったページを表示できます。しかし、ページを変更しようとすると、「ページを開くことができません」という警告が表示され、リクエストがキャンセルされます。現在のページにとどまることしかできません。
デスクトップ コンピューターではすべてが完璧ですが、iPhone では機能しません。
何か考えはありますか?デスクトップとiPhoneのブラウザで試してみませんか?