96

我正在从事一个涉及使用 IndexedDB 的项目。当我开始了解这项技术时,我需要能够手动删除 indexedDB,以便重新开始。

我在 Firefox 中找到了方法,但在 Google Chrome 中找不到方法。

我尝试删除此文件夹的内容(我使用的是 Mac):

{home}/Library/Application Support/Google/Chrome/Default/IndexedDB

但似乎 Chrome 仍然在任何地方都有数据库,所以我无法重新开始。

4

17 回答 17

165

我在 Chrome 中成功运行了以下内容:

indexedDB.deleteDatabase('DB NAME')
于 2013-02-23T21:37:34.403 回答
104

理论上,在 Chrome 中删除 IndexedDB 所需要做的就是:

  1. 在 Chrome 中,转到选项 > 后台 > 内容设置 > 所有 cookie 和站点数据 > 找到您创建 IndexedDB 的域
  2. 点击“X”或单击“索引数据库”> 删除

在 Windows 中,该文件位于此处:

%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\IndexedDB

在 Mac 上,执行以下操作:

  1. 在 Chrome 中,转到“设置”(或 Chrome 菜单下的“首选项”)
  2. 点击“显示高级设置”(在页面底部)
  3. 转到“隐私”>“内容设置”>“所有 cookie 和站点数据”> 找到您创建 IndexedDB 的域
  4. 点击“X”或单击“索引数据库”> 删除

在 Mac 上,该文件夹位于此处:

/Users/[USERNAME]/Library/Application Support/Google/Chrome/Default/IndexedDB/

在 Linux 上,该文件夹位于:

/home/[USERNAME]/.config/google-chrome/Default/IndexedDB/
于 2012-02-22T04:54:51.280 回答
30

另一种方法是在开发人员控制台中执行此操作,使用以下命令:

indexedDB.deleteDatabase("databaseName")
于 2013-02-25T10:40:08.443 回答
10

在 Chrome webkit 中,您可以使用webkitGetDatabaseNames它返回所有数据库名称

使用此代码,您可以删除所有本地 indexedDB:

window.indexedDB.webkitGetDatabaseNames().onsuccess = function(sender,args)
{
    var r = sender.target.result;
    for(var i in r)
        indexedDB.deleteDatabase(r[i]);
}; 
于 2015-05-09T08:14:27.203 回答
5

要删除所有Chrome IndexedDB 数据库,请在 OSX 终端模拟器中运行以下命令。

rm -rf ${HOME}/Library/Application\ Support/Google/Chrome/Default/IndexedDB/*

现在重新启动浏览器,就是这样。


因为我需要经常清除 IndexedDB 数据库,所以我在 ~./bash_profile 中设置了一个别名。

alias purge-idb="rm -rf ${HOME}/Library/Application\ Support/Google/Chrome/Default/IndexedDB/*"
于 2014-02-09T11:21:38.507 回答
3

要从 OS X 版本的 Chrome 中删除 IndexedDB:

1) 在首选项中,显示高级设置,然后单击“隐私”部分下的“内容设置”按钮。

2) 在“内容设置”弹出窗口中,单击“Cookies”部分下的“所有 Cookies 和站点数据”按钮。

3) 在“Cookie 和站点数据”弹出窗口中,使用“搜索 Cookie”文本框查找作为 IndexedDB 来源的域。

4) 单击列表中的域条目。

5) 单击域下列出的“索引数据库”标签。

6) 单击索引数据库的下拉详细信息中的“删除”按钮。

于 2012-12-17T20:03:00.773 回答
3

在控制台中编写此代码段

window.indexedDB.deleteDatabase(<your db name>)

于 2017-03-04T07:43:50.937 回答
2

无法以编程方式删除 IndexedDB 数据库(与存储和索引相反)。

至于手动解决方法,这篇文章详细介绍了 Firefox 和 Chrome 的 Windows 系统上的数据库位置。

更新:感谢开发者 Joshua Bell,ChromedeleteDatabase在对象上实现了一个不合规格(但非常有用)的方法window.indexedDB。这是登陆此补丁的crbug 。此外,在较新版本的 IE 中,您可以通过设置面板删除数据库。

于 2012-03-20T22:43:00.920 回答
2

在 Debian GNU/Linux 目录中

/home/[用户名]/.config/google-chrome/Default/IndexedDB/chrome-xxx.indexeddb.leveldb/

包含常规文件(例如):

000003.log,电流,锁定,日志,清单-000002

于 2013-02-06T23:20:57.810 回答
2

Chrome 开发者工具现在可以在“应用程序/清除存储”下删除应用程序的所有数据库。

于 2017-09-23T22:53:46.437 回答
2

Chrome -> Inspector Window -> Application -> 查看左侧菜单 -> Storage -> IndexedDB

于 2017-12-04T15:44:43.833 回答
2

对于您的具体问题,这可能有点矫枉过正,但我​​一直在努力删除我的 idb。

我最终的解决方案是基于mozilla 的文档,但要求我先关闭数据库。

对我来说,在 Javascript 中,代码如下所示:

my_db_instance.close(function(e){console.log(e)});
var DBDeleteRequest = indexedDB.deleteDatabase("my_db_name");

// When i had the base open, the closure was blocked, so i left this here
DBDeleteRequest.onblocked = function(event) {
  console.log("Blocked");
};

DBDeleteRequest.onerror = function(event) {
    console.log("Error deleting database.");
  console.log(event);
};

DBDeleteRequest.onsuccess = function(event) {
  console.log("Database deleted successfully");
};
于 2018-08-06T13:14:22.890 回答
1

为了完成@Judson 的回答,基于@fullstacklife 的评论;要使用javascript在 chrome中删除IndexedDB ,您应该:

let currentIDB = indexedDB.open("DB_NAME", DB_VERSION_INTEGER);
    currentIDB.onblocked = function(){
        //
    };
    currentIDB.onerror = function(){
        //
    };
    currentIDB.onsuccess = function(){
        var idb = currentIDB.result;
        idb.close();
        indexedDB.deleteDatabase("DB_NAME");
    };
于 2019-12-12T10:13:01.740 回答
0

或者,在新的隐身窗口中使用您的 Web 应用程序,并在完成后关闭它:数据库已删除。

于 2012-09-13T05:36:57.210 回答
0

在 Windows 中,您可以通过定位浏览器的 IndexedDB 目录并将其删除来手动删除整个 IndexedDB 数据库

对于铬:

C:\Users\user-name\AppData\Local\Google\Chrome\User Data\Profile 1\IndexedDB

您可以删除清除 indexedDB 的每个文件夹。你现在可以重新开始。

于 2014-09-17T06:54:50.697 回答
0

在 chrome OSX - /Users/user/Library/Application Support/Google/Chrome/Default/IndexedDB Firefox OSX - Users/user/Library/Application Support/Firefox/Profiles/4zaemxcn.default/indexedDB

您只需要使库文件夹可见。所有文件都存储在文件夹中(称为域名),文件使用哈希,但您可以从中找出数据库的名称。您可以从 IDB 中删除数据,因为它是客户端数据库并且所有数据都存储在本地。

于 2012-12-19T01:00:58.837 回答
0

我需要摆脱 Chrome 中的 indexedDB。因此,我使用 MasterSeeker 在我的计算机上搜索了这个名为“电子邮件助手”的糟糕东西。在 Chrome 中 indexedDB 的一堆文件夹中找到了这个东西。我只是删除这些文件似乎太容易了。我查了一下如何,最后到了这里。我使用 Windows 10 PC 进行了 chrome 设置。我只是尝试清除浏览数据。Presto - 所有这些文件都从 indexedDB 中消失了,包括那个可怕的“电子邮件助理”crapola。现在,当我查看 indexedDB 文件夹时,我看到所有重新出现的是 https_mail.google.com_0.indexeddb.leveldb - 这看起来像是一件安全且无刺激性的事情。

于 2019-06-09T01:07:28.070 回答