问题标签 [indexeddb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
html - HTML5 IndexedDB、Web SQL 数据库和浏览器大战
我正在开始开发具有离线数据库存储要求的 Web 应用程序。长话短说,该应用程序应该能够运行:
- 主流桌面浏览器之一,首选Chrome
- iOS 上的 Safari
- Android的原生浏览器(基于V8和WebKit)
所以问题是选择哪种技术:IndexedDB 还是 Web SQL 数据库?
关于 Web SQL 数据库,一方面,它已准备好用于上述任何场景。另一方面,Mozilla 表示 Firefox 永远不会实现它,并且根据 HTML5工作草案,该规范已陷入僵局:
该规范陷入了僵局:所有感兴趣的实现者都使用了相同的 SQL 后端(Sqlite),但我们需要多个独立的实现来沿着标准化路径前进。在另一个实现者有兴趣实现这个规范之前,SQL 方言的描述一直只是对 Sqlite 的简单引用,这对于标准来说是不可接受的。如果您是一个有兴趣实现独立 SQL 后端的实现者,请联系编辑,以便他可以为方言编写规范,从而使该规范向前发展。
IndexedDB 是 Mozilla 提倡的替代方案,但它只会出现在 Firefox 4 中。微软对此很感兴趣,Chrome 也会支持它。我对 Apple 关于 IndexedDB 的计划一无所知。
我个人倾向于选择Web SQL Database,但正因为习惯了SQLite,我喜欢SQL的强大和表现力,并且理解关系模型。对我来说,IndexedDB 是一种不确定性。
也就是说,我怕赌错了马。假设对 Web SQL 数据库的支持将继续存在是否安全,即使 IndexedDB 成为标准?
(关于 CouchDB 的注释:您是否也将其视为替代方案?)
database - 如何在 Firefox 中删除存储在计算机上的索引数据库?
在 Opera 中,您只需在opera:webdatabases
地址字段中输入并删除存储在您计算机上的所有 Web SQL 数据库。
你如何在 Firefox 中做同样的事情?我需要删除本地主机上的 IndexedDB 以试验新版本。
firefox4 - 当浏览器重新联机时,是否可以合并单独的客户端 IndexedDB 数据库中的脱机更改?
Firefox 4 中的 IndexedDB 为我们开发用于客户端数据库查询和存储的应用程序提供了新的潜力,同时离线和在线。这是一个非常新的替代方案并且非常有趣,因为我的组织分布在许多在线 Web 服务较差的国家/地区。
大图: “IndexedDB 允许 Web 应用程序在您的本地系统上存储大量数据(当然,在您明确许可的情况下),以便以后快速离线检索。”</p>
我的问题:
我不明白以下内容。
然后如何将客户端数据库中的离线更改(例如在海地)与华盛顿特区的中央数据库合并?
甚至,海地 3 个客户端上的 3 个单独的数据库更改如何相互同步?也许这是不可能的?
这种客户端数据库的好处和限制是什么?
javascript - IndexedDB keyPath 到对象深处的某个地方?
当您在 IndexedDB 中创建 objectStore 或索引时,您指定一个“keyPath”,它说明在您的对象中的何处查找应该是存储或索引上的键的值。我有看起来像这样的对象:
{doc:{id:4}}
有没有办法让我指定一个可以获取该 ID 的 keyPath?我尝试点它(keyPath =“doc.id”),但它没有用。我是否必须将所有可能的键复制到对象的顶层?
html - 我应该将 IndexedDB 用于网络应用程序吗?
我正计划构建一个网络应用程序来为我教的一些语言课程进行自动测验。最初的模型已构建为 Drupal 模块,因此它将所有内容存储在通过 php 访问的 mySQL 数据库中。不过,我想知道,从长远来看,另一种数据存储技术是否会使应用程序更便携。我希望能够移植可以在移动平台上离线和本地运行的版本。我一直在尝试新的 IndexedDB 技术,Firefox 和 Google 似乎正在购买它,但它仍然很原始,我担心它会改变太多。HTML5 中的常规离线存储选项似乎缺乏任何类型的关系功能,只是存储键值对的平面列表。还有其他选择吗?m 缺少网络/离线可移植性?人们会在这一点上推荐 IndexedDB 吗?
谢谢
javascript - IndexedDB 的锁定模型?
IndexedDB 如何处理多个选项卡,每个选项卡都带有正在进行的异步事务?事务是否完全锁定所有相关的对象存储?我如何保证如果一个选项卡正在处理一段数据,而另一个选项卡没有做同样的事情?
javascript - IndexedDB 中的最大项目大小
我正在开发一个使用 HTML5 的 IndexedDB(类似于键值数据库)功能的简单 Web 实用程序。
我一直在寻找,但我不知道:我可以在一件物品中存放的最大尺寸是多少?
javascript - indexedDB 在概念上与 HTML5 本地存储有何不同?
- indexedDB 和本地存储都是键值存储。拥有两个键/值存储有什么好处?
- indexedDB 是异步的,但连接(最耗时的事情)是手动的。它们似乎在进行异步调用的同一线程中运行。这怎么不会阻塞用户界面?
- indexedDB 允许更大的存储。为什么不增加 HTML5 商店的大小?
- 我在挠头。indexedDB 的意义何在?
javascript - 连接 IndexedDB 和 WebSQL 的 JavaScript 库
我很好奇是否有一个库或项目可以为 IndexedDB 或 WebSQL 提供通用接口,具体取决于用户浏览器的支持。如果他们使用 Chrome/Safari,请使用 WebSQL,如果他们使用 Firefox 或 Internet Explorer,请使用 IndexedDB。
这个问题的发布者似乎有自己的解决方案,但没有提供任何源代码。
google-chrome - 将本地 WebSQL/IndexedDB 数据库与“预建”数据库文件同步?
是否有任何计划可以下载(或同步)“预建”数据库文件,可以这么说,与本地 Web 浏览器数据库(如 WebSQL 或 IndexedDB)一起使用?
目前,要添加或更新本地数据库,需要以 XML 或 JSON 等格式导出或存储数据,然后获取、解析和存储数据。