【发布时间】:2011-11-08 04:51:53
【问题描述】:
我将开发应该在移动设备(智能手机)上运行的网络应用程序。在应用程序中操作员会输入一些业务数据,操作员也会在封闭的空间输入这些数据,在这些空间中,网络信号不可用。
因此,需要离线模式。在这种模式下,操作者可以输入数据,这些数据将存储在浏览器端,待网络可用后,将数据发送到服务器并持久化到数据库中。
我发现了 2 个可能的解决方案:
- 将值存储在 JavaScript 内存中。无法在浏览器崩溃或页面重新加载后继续存在。
- 将值存储在 HTML5 LocalStorage 中。需要支持 HTML5 的浏览器并保证此存储将是持久的(关闭浏览器应用后不会刷新)。
因为我还没有为智能手机开发过网络应用程序,而且我对它们的经验很少,所以我有一个问题:
特定智能手机(Android、Windows Mobile、Windows Phone、iPhone)上特定浏览器的 JavaScript 内存和 HTML5 LocalStorage 限制是什么?
我知道理论上 HTML5 LocalStorage 应该是 5MB,而 JavaScript 内存应该依赖于设备资源,至少应该是 5MB,但是对于智能手机来说呢? F.g.我注意到在 Windows Phone 6.5 上,jStorage 页面使用 userData 用于旧版 IE,并没有在此设备上保留数据(可能在每次页面刷新后刷新,资源有限)。
更新 在answer to the question of max size of local storage values 中有一个测试本地存储限制的简单应用程序的很好的链接,根据我所做的测试,Opera Mobile 11 可以在不受浏览器限制的情况下增加本地存储,用户必须简单地接受请求更多空间。限制是设备的限制。
这是应用程序的二维码:
以及应用程序本身: http://arty.name/localstorage.html
【问题讨论】:
-
我 (Android) HTC 的愿望有一个 最大 6MB 的缓存大小;使用 HTML5 存储在所有网站之间共享。当 6MB 被填满时,手机顶部会显示一个非常烦人的磁盘空间图标,直到空间被清除。
标签: javascript html mobile local-storage smartphone