我正在Meteor上构建一个应用程序,并一直在我的Android设备上测试我的应用程序。它非常有效。我在服务器上发布我的数据,并在客户端订阅它。
但当我没有数据或服务器关闭时,移动应用程序不会显示任何内容。这是有道理的,因为它无法加载任何内容。但必须能够缓存服务器上最后加载的数据,这样在没有连接的情况下,至少可以在移动应用程序中显示一些内容。
我研究了appcache,但它似乎是针对资产的,而不是数据库内容。有人知道如何让Meteor应用程序的Cordova版本在本地缓存数据库,这样它也可以离线工作吗?
为了缓存我们的iPad应用程序配置,我们使用localStorage。它非常容易使用,而且使用起来非常好。
localStorage.settings = settings; // data from server
当应用程序启动时:
var settings = null;
if( navigator.network.connection.type === Connection.NONE ) {
settings = localStorage.settings
} else {
// fetch settings from server
}
我们已经运行了一年多,没有出现任何问题。