首页 文章

如何在Chrome中删除indexedDB

提问于
浏览
83

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

我在Firefox中找到了这样做的方法,但我找不到谷歌浏览器的方法 .

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

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

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

15 回答

  • 0

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

    • 在Chrome中,转到选项>引擎盖>内容设置>所有Cookie和网站数据>找到您创建IndexedDB的域

    • 点击"X"或点击"Indexed Database">删除

    在Windows中,该文件位于:

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

    在Mac上,执行以下操作:

    • 在Chrome中,转到"Settings"(或Chrome菜单下的"Preferences")

    • 单击"show advanced settings"(位于页面底部)

    • 转到"Privacy"> "Content Settings"> "All cookies and Site Data">找到您创建IndexedDB的域

    • 点击"X"或点击"Indexed Database">删除

    在Mac上,该文件夹位于:

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

    在Linux上,该文件夹位于:

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

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

    indexedDB.deleteDatabase('DB NAME')
    
  • 2

    Alternarive是在开发人员控制台中使用此命令执行此操作:

    indexedDB.deleteDatabase("databaseName")
    
  • 5

    在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]);
    };
    
  • 10

    要删除 all 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/*"
    
  • 96

    要从OS X版Chrome中删除IndexedDB:

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

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

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

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

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

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

  • 2

    在Debian GNU / Linux目录中

    /home/[username]/.config/google-chrome/Default/IndexedDB/chrome-xxx.indexeddb.leveldb/

    包含常规文件(例如):

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

  • 0

    以编程方式删除IndexedDB数据库(而不是存储和索引)是不可能的 .

    至于手动变通方法,this post详细说明了适用于Firefox和Chrome的Windows系统上数据库的位置 .

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

  • 1

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

  • 0

    在控制台中编写此代码段

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

  • 152

    在Chrome 62中

    • 打开 Settings

    • 确保 Advanced 切换打开

    • 点击 Content Settings

    • 点击 Cookies

    • 点击 See all cookies and site data

    • 在右上方你会看到一个 search bar ,输入你所追求的域名(即localhost)

    • 点击列表项

    • 删除你的物品

    注意:想象一下,您打开了两个Chrome浏览器,您签署了一个,然后在调试过程中从Visual Studio启动另一个浏览器(但您没有登录到那个)...将IDB数据删除为一个不会影响另一个 .

  • 3

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

  • 1

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

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

  • 28

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

    对于Chrome:

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

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

  • 2

    对于你的具体问题,这可能有些过分,但我一直在努力删除我的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");
    };
    

相关问题