2011-08-29 89 views
0

如何在Web SQL中设置离线存储模式(离线/在线)的基本切换?我知道这里有javascriptHTML5 - 设置离线存储的Web sql

window.navigator.onLine。我可以检查模式,然后经历一个过程......

//All GET/POST performed with AJAX 
//On Startup pulldown entire accessible database into offline storage (Doesn't seem secure IMO) 
//if(read) pull from offline 
//if(create, update, delete and online) pull from standard db, mark changes with offline expiration flag 
//if(create, update, delete and offline) perform operation on offline storage, persist with POST when next online (change flag) 

我问,如果有这些标准的任务,任何OOB整合?

回答

1

navigator.online属性一般不是很有用 - 在桌面浏览器中,它所做的只是挂入文件 - >脱机工作菜单。它可能在iPad上更有用,我不知道,因为我没有,我猜没有文件菜单,但我会建议你测试。

解决此问题的常见方法是在清单的回退部分中设置两个容易区分的文件。每次你想连接回服务器时都试图通过AJAX获取文件,并在回调中检查它是否得到在线文件或回退,然后相应地进行分支。

0

您不应该使用Web SQL,因为该规范在新的几个月前不再适用。你应该使用Localstorage。除非你专门为iphone编写代码,但即使如此,你也不知道规范将在webkit中运行多久。

+0

我已经告知管理层这个事实。我们只支持iPad离线存储。从WWDC 2011的视频来看,苹果公司确实似乎正在对这个标准的所有圆柱体进行射击。改变不是一种选择。 –