我正在构建一个可以离线工作的应用程序。这是一个使用 angularjs 和 firebase 的视频网络应用程序。
该应用程序从 firebase 数据库接收数据,例如在服务 js 文件中:
.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 数据。
第二个问题也是关于使用 sw precache 捕获 cdn 托管文件。因此,如果应用程序在线,将加载文件,如果不使用磁盘中可用的缓存 cdns 文件。
离线时,json 文件头响应为“加载数据失败”。