我正在进行一个涉及使用IndexedDB的项目。由于我刚开始接触这项技术,因此需要手动删除indexedDB以便重新开始。
我已经找到了在Firefox中执行此操作的方法,但是我无法找到在Google Chrome中执行此操作的方法。
我尝试删除了这个文件夹的内容(我正在使用Mac):
{home}/Library/Application Support/Google/Chrome/Default/IndexedDB
但似乎Chrome仍然在任何地方保留着数据库,因此我无法重新开始。
我正在进行一个涉及使用IndexedDB的项目。由于我刚开始接触这项技术,因此需要手动删除indexedDB以便重新开始。
我已经找到了在Firefox中执行此操作的方法,但是我无法找到在Google Chrome中执行此操作的方法。
我尝试删除了这个文件夹的内容(我正在使用Mac):
{home}/Library/Application Support/Google/Chrome/Default/IndexedDB
但似乎Chrome仍然在任何地方保留着数据库,因此我无法重新开始。
在 Debian GNU/Linux 目录中
/home/[用户名]/.config/google-chrome/Default/IndexedDB/chrome-xxx.indexeddb.leveldb/
包含常规文件(例如):
000003.log、CURRENT、LOCK、LOG、MANIFEST-000002
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");
};
由于大多数答案都没有提到如何查找数据库名称:
indexedDB.databases().then(res => console.log(res))
以了解此网站使用的数据库名称(使用交互式控制台打开结果,找到名称)。indexedDB.deleteDatabase('<你的数据库名称>')
。在Chrome OSX中,路径为 /Users/user/Library/Application Support/Google/Chrome/Default/IndexedDB 在Firefox OSX中,路径为 Users/user/Library/Application Support/Firefox/Profiles/4zaemxcn.default/indexedDB
你只需要让库文件夹可见即可。所有的文件都存储在文件夹中(称为域名),文件使用哈希,但你可以从中找出数据库的名称。 你可以删除IDB中的数据,因为它是客户端数据库,所有数据都存储在本地。
//By for loop
const deleteAllDBs=async()=>{
const existingDBs=await indexedDB.databases()
for (let i = 0; i < existingDBs.length; i++) {
indexedDB.deleteDatabase(existingDBs[i].name)
}
}
//By forEach loop
const dbs = await window.indexedDB.databases()
dbs.forEach(db => { window.indexedDB.deleteDatabase(db.name) })