我正在一个涉及使用IndexedDB的项目中工作。 当我开始了解这项技术时,我需要能够手动删除一个indexedDB,以便重新开始。
我找到了在Firefox中使用它的方法,但我找不到谷歌浏览器的方法。
我尝试删除此文件夹的内容(我正在使用Mac):
{home}/Library/Application Support/Google/Chrome/Default/IndexedDB
但似乎Chrome stil在任何地方都有db,所以我无法重新开始。
答案 0 :(得分:152)
我已成功在Chrome中运行以下内容:
indexedDB.deleteDatabase('DB NAME')
答案 1 :(得分:97)
理论上,您在Chrome中删除IndexedDB所需要做的就是:
在Windows中,该文件位于此处:
%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\IndexedDB
在Mac上,执行以下操作:
在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中
Settings
Advanced
切换已打开Content Settings
Cookies
See all cookies and site data
search bar
,输入您所追求的域名(即localhost)注意:想象一下,您打开了两个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");
};