【问题标题】:If there is any function in firefox to get all indexedDB names?如果Firefox中有任何函数可以获取所有indexedDB名称?
【发布时间】:2021-09-16 21:16:57
【问题描述】:

在 chrome 中,我使用 window.indexedDB.databases() 方法来获取所有 indexedDb 名称。

但同样的方法在 Firefox 中不适用。

我也会尝试window.indexedDB.databases()类似的方法,比如window.indexedDB.webkitdatabases() & window.indexedDB.mozwebkitdatabases()

以上方法实现会报如下错误。

window.indexedDB.databases() 不是函数。

我还将尝试使用 indexedDB 接口,如 IDBObjectStore、IDBDataBase...等。但是没有用。他们还在其实施中给出错误。

所以请给出一些适当的方法或建议来获取所有索引数据库名称。

【问题讨论】:

标签: javascript firefox indexeddb pouchdb firefox-developer-tools


【解决方案1】:

您在 IDBFactory 中有一个方法可以为您提供数据库列表。

IDBFactory.databases 一种返回所有可用数据库列表的方法,包括它们的名称和版本。

https://developer.mozilla.org/en-US/docs/Web/API/IDBFactory 但实际上并没有实施! 您可以在firefox bug report中阅读更多内容@

因此,获取数据库名称的唯一方法是使用 Firefox DevTools 中的Storage Inspector

【讨论】:

  • 感谢您的回复。但是该方法在 firefox 中不可用。请检查您的共享链接浏览器兼容性表以及我已经在问题中提到该方法的另一件事。所以请提供一些适当的解决方案。
  • 你是对的。我编辑我的答案。这可能不会很快发生。他们有一个架构问题,如果要修复此错误,则需要首先解决。 bugzilla.mozilla.org/show_bug.cgi?id=934640
  • 不幸的是,目前(从 Firefox 92 开始)获取数据库名称的唯一方法是使用 Storage Inspector。您必须等到 API 实施后才能通过 JavaScript 访问它们。我已将该信息添加到答案中。
  • 嗯,这实际上是可悲和可笑的。到 2022 年 1 月,它仍然不受支持,对于我的项目来说,它是一个关键特性。在向 indexeddb 添加/删除时可能必须使用 localstorage 添加/删除项目
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-01-22
  • 2020-12-18
  • 2014-08-12
  • 1970-01-01
  • 2021-08-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多