Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
围绕web存储的Javascript API包装器?_Javascript_Web Sql_Indexeddb_Web Storage - Fatal编程技术网

围绕web存储的Javascript API包装器?

围绕web存储的Javascript API包装器?,javascript,web-sql,indexeddb,web-storage,Javascript,Web Sql,Indexeddb,Web Storage,是否有一个跨浏览器的jquery-like包装器API抽象 有lawnchair……我已经有人建议过几次了,但没有详细说明: 本地存储(也称为“web存储”)实际上无法与web SQL或IndexedDB相媲美,因为它在空间上受到严格限制,并且是同步的(读取:冻结浏览器的UI,就像它做屎一样)。正因为如此,我在文章的其余部分忽略了localStorage。但是,如果您只需要一点点存储,您可以直接使用localStorage,因为它得到了相当广泛的支持,或者像另一篇文章建议的那样使用lawncha

是否有一个跨浏览器的jquery-like包装器API抽象

有lawnchair……我已经有人建议过几次了,但没有详细说明:

本地存储(也称为“web存储”)实际上无法与web SQL或IndexedDB相媲美,因为它在空间上受到严格限制,并且是同步的(读取:冻结浏览器的UI,就像它做屎一样)。正因为如此,我在文章的其余部分忽略了localStorage。但是,如果您只需要一点点存储,您可以直接使用localStorage,因为它得到了相当广泛的支持,或者像另一篇文章建议的那样使用lawnchair,它甚至得到了更广泛的支持

剩下的就是Web SQL和IndexedDB。无论好坏,Web SQL都是一种死胡同技术。没有人在编写规范,也没有人在编写新的实现。IE和Firefox永远不会支持它,而且它在其他浏览器中被弃用,最终可能会被删除。但目前有一些浏览器支持它(Chrome、Opera、Safari),因此理论上,如果其他不支持Web SQL的浏览器有其他选择,它可以在库中使用

不幸的是,IndexedDB在不同的浏览器中没有得到很好的支持。Firefox有很好的实现;Chrome有点落后,但正在迎头赶上。您可以使用在任何支持Web SQL的浏览器中获得IndexedDB支持,理论上应该涵盖除IE之外的所有最新/流行浏览器

啊,IE,总是归结为IE,不是吗?事实上,在IE中并没有像IndexedDB或Web SQL这样合理的本地存储方式。IE 10将支持IndexedDB。每当人们停止使用IE9及更低版本时,IndexedDB可能在所有其他浏览器中都有极好的支持,因此您只需使用IndexedDB API或其上的某个库即可。在那之前。。。好吧,你真倒霉。

有,它为IndexedDB、WebSQL和localStorage提供了跨浏览器API。它也有JQuery插件

应该适合你。它在可用的地方使用本地存储。对于IE6和IE7,它使用用户数据行为

它的API既漂亮又简单:

store.set('myage', 24)
store.get('myage') === 24

支持多种存储实现的包装器

WebSQL上的IndexedDB多填充

如果您只想存储少量数据,这些或更简单的包装器中的任何一个都足以用于web存储。如果您需要更多的存储空间,则需要放弃web存储的想法,使用indexedDB polyfill。但这种多索引的缺点是,索引可能无法始终很好地工作,尤其是在使用多个索引的情况下,并且在没有本机indexedDB(iOS)的移动浏览器中性能可能会很差。如果索引非常关键,Pocket DB看起来是使用其二级索引的一个很好的解决方案。如果iOS不是一个目标,你可以继续使用原生索引数据库作为苹果园之外的数据库


网络存储 模式:键值对 大小:2.5MB–5MB 可扩展性:大型/复杂数据的性能较差 搜索:没有索引或其他方式,搜索性能差 索引:没有可用的索引 兼容性:支持所有现代浏览器,包括移动浏览器 经得起未来考验:支持应保持很长时间。该规范独立于w3c,作为自己的规范存在。W3c可能会用索引数据库做所有事情


WebSQL 模式:关系数据库 大小:默认~5MB要求用户扩展到10、50、100、500 MB 可伸缩性:使用关系数据库概念,因此可以很好地伸缩。与Web存储相比,大数据的性能良好。 搜索:良好的搜索性能,在RDBMS中建立索引。 索引:在RDBMS中提供索引 兼容性:支持基于webkit的浏览器,包括Chrome、Safari和iOS Safari等移动浏览器。不受Microsoft和Firefox支持,并且决定永远不支持,因为该规范依赖于非标准SQL lite。与此同时,web SQL恰好是iOS设备和Safari中唯一可用的可扩展解决方案。 经得起未来考验:Web SQL不是经得起未来考验的。该规范自2011年起不再维护和弃用。除苹果外,大多数供应商也开始转向索引数据库


索引数据库 模式:索引表系统 大小:默认值~5-50MB要求用户展开。 可扩展性:每个数据库可以有尽可能多的数据库和存储。可以很容易地进行缩放。 搜索:基于索引技术的搜索性能非常好。 索引:根据索引自行设计。 兼容性:在Chrome、Firefox、IE 10等现代浏览器中受支持。失踪的供应商只是苹果。苹果仍然没有在Safari和iOS Safari上实现索引数据库。
经得起未来考验:索引数据库规范是专门为客户端存储设计的web持久化的当前方向。这将很快淘汰web SQL和本地存储,因为它具有这两个规范的强大功能。

是的,例如,我可以直接告诉您,在indexeddb中,多对多关系是非常棘手的,而不是直接的