我需要帮助找出最佳的,跨浏览器兼容的方式来“保存”用户输入并在本地(离线模式)和服务器(在线)存储它们.程序将由Android和iOS使用.
您好我一直在研究AJAX,JSON,XMLHttpRequest,REST,Java和HTML5(特别是localStorage).
场景:(在线/离线阅读书籍,保存页面进度)
>用户登录Web服务,Web服务允许用户下载“html网页书”(使用HTML5浏览器查看).
>每次翻页后,REST API都会使用GET请求将进度数据发布到Web服务器.同时,创建JSON字符串并将其保存在服务器上的文件中. (让我们说“ProgressData.txt”)
>在后台,ProgressData.txt的单独“副本”将在移动设备上保存.然后用户离开互联网连接并继续阅读HTML书籍.
>当用户重新获得连接时,ProgressData.txt将使用REST API上载到服务器,它将使用包含所有用户ProgressData的NEW .txt文件更新旧服务器文件.
可能的解决方案:
HTML5 localStorage解决方案看起来不错. jQuery甚至简化了它:
http://plugins.jquery.com/project/html5Storage
直接Javascript看起来很适合服务器端存储,但它无法访问移动设备的物理硬盘驱动器,从而阻止任何类型的脱机保存.
Java小程序看起来很可能.另外还不确定Java如何在Android / iOS上运行.
我不希望每次用户下线时都从移动设备运行本地主机(PHP / Apache / Python),但这可能是解决方案的所在.我偶然发现了这个强大的工具:http://couchdb.apache.org/
题:
我需要知道在设备联机或离线时跟踪用户进度的最佳方法.做这个的最好方式是什么?
解决方法:
以下是2个截屏视频,它们将帮助您解决问题.
他们在Ruby on Rails中,但也许你可以得到这个想法.它使用的是html5缓存清单.
希望它能帮到你!
http://railscasts.com/episodes/247-offline-apps-part-1
http://railscasts.com/episodes/248-offline-apps-part-2
一些更多的资源(对不起,我自己没有html5缓存清单的经验)