我有使用 Breeze.js 进行数据访问的单页应用程序。它使用 Breeze.js 对本地缓存执行查询,并且仅在启动时请求一次数据。之后仅将数据更新回发到服务器上。
我正在寻找一种使应用程序连接感知的解决方案。如果移动设备没有互联网连接,更改将使用 Breeze.js 和 HTML5 本地存储在本地保存。当移动设备重新联机时,更改将同步到远程数据存储。
任何指导方针如何实现该要求?谢谢
我有使用 Breeze.js 进行数据访问的单页应用程序。它使用 Breeze.js 对本地缓存执行查询,并且仅在启动时请求一次数据。之后仅将数据更新回发到服务器上。
我正在寻找一种使应用程序连接感知的解决方案。如果移动设备没有互联网连接,更改将使用 Breeze.js 和 HTML5 本地存储在本地保存。当移动设备重新联机时,更改将同步到远程数据存储。
任何指导方针如何实现该要求?谢谢
看起来 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 构建混合移动应用程序