如何在Chrome中删除indexedDB

时间:2012-02-21 19:48:27

标签: html5 google-chrome indexeddb

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

我找到了在Firefox中使用它的方法,但我找不到谷歌浏览器的方法。

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

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

但似乎Chrome stil在任何地方都有db,所以我无法重新开始。

17 个答案:

答案 0 :(得分:152)

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

indexedDB.deleteDatabase('DB NAME')

答案 1 :(得分:97)

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

  1. 在Chrome中,转到选项>在引擎盖下>内容设置>所有Cookie和网站数据>找到您创建IndexedDB的域
  2. 点击“X”或点击“索引数据库”>删除
  3. 在Windows中,该文件位于此处:

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

    在Mac上,执行以下操作:

    1. 在Chrome中,转到“设置”(或Chrome菜单下的“偏好设置”)
    2. 点击“显示高级设置”(位于页面底部)
    3. 转到“隐私”> “内容设置”> “所有Cookie和网站数据”>找到您创建IndexedDB的域
    4. 点击“X”或点击“索引数据库”>删除
    5. 在Mac上,该文件夹位于:

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

      在Linux上,该文件夹位于:

      /home/[USERNAME]/.config/google-chrome/Default/IndexedDB/
      

答案 2 :(得分:28)

Alternarive是使用以下命令在开发人员控制台中执行的:

indexedDB.deleteDatabase("databaseName")

答案 3 :(得分: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]);
}; 

答案 4 :(得分: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/*"

答案 5 :(得分:3)

从OS X版Chrome中删除IndexedDB:

1)在“偏好设置”中,显示“高级设置”,然后点击“隐私”部分下的“内容设置”按钮。

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

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

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

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

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

答案 6 :(得分:2)

无法以编程方式删除IndexedDB数据库(而不是存储和索引)。

对于手动解决方法,this post详细说明了适用于Firefox和Chrome的Windows系统上数据库的位置。

更新:感谢开发人员Joshua Bell,Chrome在deleteDatabase对象上实现了一个不合规格(但非常有用)的window.indexedDB方法。这是获得此补丁的crbug。此外,在较新版本的IE中,您可以删除数据库via a settings panel

答案 7 :(得分:2)

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

答案 8 :(得分:2)

在Debian GNU / Linux目录中

  

的/ home / [用户名] /。配置/谷歌铬/默认值/索引资料/铬xxx.indexeddb.leveldb /

包含常规文件(例如):

  

000003.log,CURRENT,LOCK,LOG,MANIFEST-000002

答案 9 :(得分:1)

在控制台中编写此代码段

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

答案 10 :(得分:1)

在Chrome 62中

  1. 打开Settings
  2. 确保Advanced切换已打开
  3. 点击Content Settings
  4. 点击Cookies
  5. 点击See all cookies and site data
  6. 在右上角,您会看到search bar,输入您所追求的域名(即localhost)
  7. 点击列表项
  8. 删除商品
  9. 注意:想象一下,您打开了两个Chrome浏览器,您签署了一个,然后在调试过程中从Visual Studio启动另一个浏览器(但您没有登录到那个)...在一个中删除IDB数据不会影响对方。

答案 11 :(得分:0)

在Windows中,您可以通过找到浏览器的IndexedDB目录并删除它来手动删除整个IndexedDB数据库

对于Chrome:

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

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

答案 12 :(得分:0)

在chrome OSX- / Users / user / Library / Application Support / Google / Chrome / Default / IndexedDB中 Firefox OSX - 用户/用户/库/应用程序支持/ Firefox /配置文件/ 4zaemxcn.default / indexedDB

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

答案 13 :(得分:0)

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

答案 14 :(得分:0)

对于您的特定问题,这可能有些过分,但是我一直在努力删除idb的工作中停留在这里。

我的解决方案最终基于mozilla's documentation,但要求我首先关闭数据库。

对我来说,在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");
};

答案 15 :(得分:0)

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

答案 16 :(得分:0)

基于@fullstacklife的评论,以完成@Judson的答案;要使用 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");
    };