5

我有使用 Breeze.js 进行数据访问的单页应用程序。它使用 Breeze.js 对本地缓存执行查询,并且仅在启动时请求一次数据。之后仅将数据更新回发到服务器上。

我正在寻找一种使应用程序连接感知的解决方案。如果移动设备没有互联网连接,更改将使用 Breeze.js 和 HTML5 本地存储在本地保存。当移动设备重新联机时,更改将同步到远程数据存储。

任何指导方针如何实现该要求?谢谢

4

2 回答 2

2

看起来 HTML5 提供了 5MB 的本地存储,在清理之前一直存在,并且对于使用 XMLHttpRequest 存储 JSON 值很有用。

HTML 5 navigator.onLine 属性提供离线检测。在线为真,不在线为假

 var nav = window.navigator;
 if(nav.onLine) {
    // do HMLHttpRequests etc
 }
 window.addEventListener('online', function() {   });
 window.addEventListener('offline', function() {   });

有关更多信息,请查看使用 HTML5 构建混合移动应用程序

于 2013-04-19T20:54:59.577 回答
1

@mitaka 向您指出连接更改检测。

对于使用 BreezeJS 将实体保存到本地存储,BreezeJS 文档中的“导出/导入”主题提供了有价值的线索。“ DocCode ”示例中的“ exportImportTests.js ”文件演示了其中描述的一些技术。

于 2013-04-21T05:54:18.203 回答