キャッシュ マニフェストと多くのトラブルシューティングを使用して、アプリケーション全体を確実にキャッシュできます。これは、個別のファイル リソースがいくつかあるだけの単一ページ アプリであることに注意してください。
さらなる機能強化として、DOM を以下に基づいて変更しようとしています。
window.applicationCache ステータス
更新についてユーザーに通知します。
ここをタップしてアップデートを適用します
それが可能であれば、キャッシュを交換できます
window.applicationCache.swapCache();
これにより、更新されたキャッシュをスワップしてからページを再起動して、合理化された更新メカニズムを提供できます。
Apple Store のアプリよりも合理化されている可能性があります。
まさにこの理由で、web アプリケーションを妨害するために、applicationCache API が Apple によって妨害されたのではないかと思います。そうは言っても、モバイル デバイスでの "html5" API のサポート レベルは、Apple の Safari で最も堅牢なものの 1 つだと思います。
以下は、これまでに気づいたいくつかの問題です。順不同です。これはバグの包括的なリストではないことに注意してください。
「updateready」イベントが発生しません。この警告行は決して実行されません:
window.applicationCache.addEventListener('updateready', function(e) {
alert('updateready event status=' + window.applicationCache.status );
}, false);
更新を手動で確認することはできません。次のコードでは例外が発生します
try{
window.applicationCache.update();
}catch (err){
alert('exception:\n' + err);
}
キャッシュの状態を操作し始めるとすぐに、キャッシュが機能しなくなったようです。バグは非常にとらえどころのないものです。特に、このコードはすべて他のブラウザー (chrome) で問題なく実行されるため、1 つの問題を突き止めて特定するには、多くの時間がかかる可能性があります。
アプリをホーム画面にピン留めすると、iCloud はリソースを「バックアップ」し、ホーム画面からアプリを初めて実行した後にそれらを復元するのではないかと思います。この問題を回避するには、ファイルの名前を変更する必要がある場合があります。私は、Apple が廃止されたコンポーネントの個別のバックアップを作成していることを証明しました。
アプリサーバーから完全に削除する
固定された Web アプリをホーム画面から削除する
すべてのキャッシュをクリアする
SafariでアプリのURLを開く
最新バージョンであることを確認します
ホームにピン留めする
固定されたアプリが最新バージョンであることを確認します
閉じる
もう一度実行します-サーバー上ではなく、古いものに戻ります。
最後に、電話が機内モードのときにピン留めされたアプリを実行すると、iCloud は古いファイルを復元できなくなります。これは、それが無線から来ていることを証明しています。