我被要求研究移动设备上 Web 表单的离线存储选项(主要是 iPad 上的注册表单,用于大型活动,由于数量庞大,位置连接似乎总是一个问题)。
我想提出的是:
- 一种可以在连接时提交数据,或者在离线时存储的表单。
- 定期检查连接并在可能时提交表单数据。
谁能在这里指出我正确的方向?
谢谢,
克里斯
我被要求研究移动设备上 Web 表单的离线存储选项(主要是 iPad 上的注册表单,用于大型活动,由于数量庞大,位置连接似乎总是一个问题)。
我想提出的是:
谁能在这里指出我正确的方向?
谢谢,
克里斯
听起来您只需要键/值对。window.localStorage 是你的朋友!
它是键/值存储,通过页面刷新持续存在,并且跨同一域中的所有页面(例如:运行 window.localStorage.userName = "John Doe"; 在 "http://www.somedomain.com/index.html ”,然后当用户转到“http://www.somedomain.com/page2.html”时,如果您运行“window.localStorage.userName”,它仍然会返回“John Doe”。
如果您需要代码片段,请告诉我。
您可以使用 html 5 indexedDB API - http://nparashuram.com/IndexedDB API。
HTML5 WebSQL API 现在不再积极维护,IndexedDB 似乎是每个人都在使用的东西。
除了桌面,您还可以使用 IndexedDB-WebSQL polyfill - http://axemclion.github.com/IndexedDBShim让它在移动设备上运行。
http://diveintohtml5.info会给你一些如何使用离线存储的好例子。至于检查你是否有一个有效的连接,你可能不得不在后台使用 XMLHttpRequest 或表单提交做一些事情,而不是在你的表单提交上使用标准的 HTTP GET 或 POST 方法。