オフラインで動作すると思われるアプリを構築しています。angularjs と firebase を使用した動画 Web アプリです。
アプリは、たとえばサービス js ファイルで firebase データベースからデータを受け取ります。
.service('firebaseService', function ($http) {
this.getvideosApi = function() {
return $http.get( 'https://gxxxxx.firebaseio.com/user-videos.json' );
};
});
このサービスを使用して、firebase データベースから json データを取得します。動画自体はfirebaseストレージに保存されます。
コントローラーでデータを受け取り、テンプレートに表示します。
firebaseService.getvideosApi().then(function(response){
vm.videos = response.data;
});
})
これはオンラインでは問題なく機能しますが、sw-precache を使用しているため、アプリがオフラインで完全に機能していても、オフラインでは機能しません。
だから私の質問はとにかく、この外部でホストされているjsonファイルをキャッチして、アプリがオフラインのときにjsonデータを利用できるようにすることです。
2 番目の質問も、sw プリキャッシュを使用して cdn でホストされているファイルをキャッチすることに関するものです。アプリがオンラインの場合、ファイルがロードされます。そうでない場合は、ディスクにあるキャッシュされた cdns ファイルを使用します。
オフラインの場合、json ファイル ヘッダーの応答は「データの読み込みに失敗しました」です。