html - 如何使用 Breeze.js 和 HTML5 本地存储实现支持离线的单页应用程序

标签 html synchronization breeze single-page-application offline-caching

我有一个使用 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() {   });

更多信息请查看Building Hybrid Mobile Applications with HTML5

关于html - 如何使用 Breeze.js 和 HTML5 本地存储实现支持离线的单页应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16108876/

相关文章:

java - 实践中的并发设计原则

javascript - AngularJS:WAITING异步调用

Breeze 谓词对 child 的多个层次

javascript - 如何更改 bootstrap4 中滚动时垂直导航栏的颜色?

javascript - jQuery 获取特定 div 的文本

html - 机身未全面屏

c++ - 如何测量互斥量在被获取之前等待的时间?

html - 如何避免文本上方的额外填充?

breeze - 使用breezejs和Web API处理计算的属性

javascript - 等待数据返回,与 Angular 和 Breeze 同步调用