HTML5 アプリケーション キャッシュの内容を照会する方法はありますか?
キャッシュされた Web コンテンツを大量に使用する iOS アプリケーションを作成しています。アプリがオフラインのときに特定のページを読み込む前に、ページがキャッシュに存在するかどうかを確認したいと思います。そうでない場合は、そのコンテンツを表示するにはオンラインである必要があることをユーザーに通知します。もしそうなら、先に進んでロードします。
現在、iOS には独自の URL キャッシュ システムがあり、最初は次の方法でキャッシュの内容を確認できると思っていました。
if ([[NSURLCache sharedURLCache] cachedResponseForRequest:myRequest] != nil) {
// go ahead and load the page
}
else {
// notify the user that the content isn't available
}
愚かな私。iOS のキャッシュと HTML5 のキャッシュは無関係のようです: -cachedResponseForRequest: URL が HTML5 アプリケーション キャッシュにあることがわかっている場合でも (Safari Web デバッガーを使用して)、要求に対して nil を返します。
では、HTML5 アプリケーション キャッシュの内容をクエリする方法はありますか? Objective-C から関連する JS をいつでも実行できるので、答えが Objective-C コードまたは Javascript を使用するかどうかは問題ではありません。