javascript - 删除所有索引数据库

标签 javascript indexeddb

我需要删除我所有的 IndexedDB,目前我有:

const indexedDB = window.indexedDB || window.mozIndexedDB
  || window.webkitIndexedDB || window.msIndexedDB;
if (indexedDB.webkitGetDatabaseNames) {
  const bases = indexedDB.webkitGetDatabaseNames();
  bases.onsuccess = (event) => {
    const data = event.target.result;
    Object.values(data).forEach((db) => {
      indexedDB.deleteDatabase(db);
    });
    resolve();
  };
  bases.onerror = reject;
}

但是 webkitGetDatabaseNames() 函数是未定义的。 不使用这种方法是否可以删除所有IndexedDB?

PD:我想在不知道 IndexedDB 名称的情况下删除,我需要从代码(Javascript)中删除

最佳答案

在 chrome 上使用

window.indexedDB.databases().then((r) => {
    for (var i = 0; i < r.length; i++) window.indexedDB.deleteDatabase(r[i].name);
}).then(() => {
    alert('All data cleared.');
});

关于javascript - 删除所有索引数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46040005/

相关文章:

javascript - 在一页滚动站点的 html 中更改 fancybox 关闭按钮

javascript - 为什么在连接到 indexedDB 时我的 onupgradeneeded 回调从未被调用?

javascript - IndexedDb 事务在边缘情况下的自动提交行为

javascript - 将消息记录为 Express app.listen 回调

javascript - 如何使用 JavaScript 检查 html 元标记是否存在?

javascript - 在 Indexeddb 中存储 Javascript 函数是隐藏 javascript 的有效方法吗?

html - IndexedDB onversionchange 事件未在 Chrome 中触发

javascript - jQuery.Deferred() 无法正常工作

javascript - 使用 JavaScript 访问框架的文档对象

javascript - 获取 anchor 标记内的文本