由于localStorage(当前)仅支持字符串作为值,并且为了做到这一点,对象需要在存储之前进行字符串化(存储为JSON字符串),是否存在关于值的长度的定义限制.
有谁知道是否有适用于所有浏览器的定义?
HTML5的localStorage数据库通常是大小限制的 - 标准大小为每个域5或10 MB.子域可以规避这些限制(例如example.com,hack1.example.com和hack2.example.com都有自己的5 MB数据库)?标准中是否有任何内容指定父域是否可以访问其子项的数据库?我找不到任何东西,我可以看到这样做的论据,但似乎必须有一些标准模型.
我正在开始开发具有脱机数据库存储要求的Web应用程序.长话短说,应用程序应该可以运行:
那么问题是选择哪种技术:IndexedDB或Web SQL数据库?
关于Web SQL数据库,一方面可以在任何上述场景中使用它.另一方面,Mozilla表示Firefox永远不会实现它,根据HTML5 工作草案,规范已经陷入僵局:
这个规范已陷入僵局:所有感兴趣的实现者都使用了相同的SQL后端(Sqlite),但我们需要多个独立的实现来继续标准化路径.在另一个实现者对实现此规范感兴趣之前,SQL方言的描述仅仅是对Sqlite的引用,这对于标准是不可接受的.如果您是一个对实现独立SQL后端感兴趣的实现者,请联系编辑器,以便他可以为方言编写规范,从而允许此规范继续前进.
IndexedDB是Mozilla提倡的替代品,但它只会出现在Firefox 4中.微软很感兴趣,Chrome也会支持它.我对Apple的IndexedDB计划一无所知.
我个人倾向于选择Web SQL数据库,但仅仅因为我习惯了SQLite,我喜欢SQL的强大和表现力,而且我理解关系模型.对我来说,IndexedDB是一种不确定性.
那就是说,我害怕赌错马.假设支持Web SQL数据库将继续存在,即使IndexedDB成为标准,是否安全?
(关于CouchDB的说明:您是否也将其视为替代方案?)
任何人都可以解释一下window.localStorage的大小(例如,Firefox中的5MB)是每个范围5MB还是仅适用于所有范围?
在普通的Android Web应用程序中,WebSQL数据库的最大大小通常约为8MB.在我正在制作的混合网络应用程序中,我想增加此限制.我该怎么做呢?
似乎WebStorage可能与它有关,但是我可以在那里看到的似乎设置大小的唯一方法setQuotaForOrigin被标记为已弃用.
欢迎示例代码(不推荐使用):)