จะลบ indexedDB ได้อย่างไร?


92

ฉันกำลังทำงานในโครงการที่เกี่ยวข้องกับการใช้ IndexedDB เมื่อฉันเริ่มรู้จักเทคโนโลยีนี้ฉันจำเป็นต้องสามารถลบ IndexedDB ด้วยมือเพื่อที่ฉันจะได้เริ่มต้นใหม่ได้

ฉันพบวิธีที่จะทำได้ใน Firefox แต่ฉันไม่พบวิธีสำหรับ Google Chrome

ฉันพยายามลบเนื้อหาของโฟลเดอร์นี้ (ฉันใช้ Mac):

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

แต่ดูเหมือนว่า Chrome stil จะมี DB อยู่ทุกที่ฉันจึงไม่สามารถเริ่มต้นใหม่ได้

คำตอบ:


101

ตามทฤษฎีแล้วสิ่งที่คุณต้องทำเพื่อลบ IndexedDB ใน Chrome คือ:

  1. ใน Chrome ไปที่ตัวเลือก> ขั้นสูง> การตั้งค่าเนื้อหา> คุกกี้และข้อมูลไซต์ทั้งหมด> ค้นหาโดเมนที่คุณสร้าง IndexedDB
  2. กดปุ่ม "X" หรือคลิก "Indexed Database"> Remove

ใน Windows ไฟล์จะอยู่ที่นี่:

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

บน Mac ให้ทำดังต่อไปนี้:

  1. ใน Chrome ไปที่ "การตั้งค่า" (หรือ "ค่ากำหนด" ใต้เมนู Chrome)
  2. คลิก "แสดงการตั้งค่าขั้นสูง" (ที่ด้านล่างของหน้า)
  3. ไปที่ "ความเป็นส่วนตัว"> "การตั้งค่าเนื้อหา"> "คุกกี้และข้อมูลไซต์ทั้งหมด"> ค้นหาโดเมนที่คุณสร้าง IndexedDB
  4. กดปุ่ม "X" หรือคลิก "Indexed Database"> Remove

ใน Mac โฟลเดอร์จะอยู่ที่นี่:

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

บน Linux โฟลเดอร์จะอยู่ที่:

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

2
Chrome สำหรับ OS X ไม่มีรายการเมนู "ตัวเลือก" หรือการอ้างอิงถึง "Under the Hood" ดังนั้นนี่อาจเป็นคำใบ้ที่น่าสับสนสำหรับบางคน
Mark Caufman

3
ใน OS X คุณสามารถไปที่นั่นได้โดยใช้ "Chrome> Clear Browsing Data ... " ปิดกล่องโต้ตอบจากนั้นไปที่ "Advanced settings" แทน "Under the Hood" หลังจากนั้นก็ ~ เหมือนกับข้างบน
natevw

56
ฉันคิดว่ามันง่ายกว่าที่จะเรียกใช้ indexedDB.deleteDatabase ("databaseName") ในคอนโซล
user854301

1
ใน OSX Chrome v31 ขั้นตอน: 1. การตั้งค่า> แสดงการตั้งค่าขั้นสูง ... > ความเป็นส่วนตัว> การตั้งค่าเนื้อหา ... > คุกกี้> คุกกี้และข้อมูลไซต์ทั้งหมด ... 2. ค้นหาเพื่อกรอง IP ของคุณ 3. Indexed databaseคลิก 4. เอาออก!
Amo Wu

อาจจะเป็น Chrome ภายใต้ Linux หรืออาจจะเป็นเวอร์ชันที่ใหม่กว่า แต่นี่คือขั้นตอนในการเข้าสู่ประสบการณ์ของฉัน: 1. การตั้งค่า> แสดงการตั้งค่าขั้นสูง ... > การตั้งค่าเนื้อหา> คุกกี้และข้อมูลไซต์ทั้งหมดค้นหาโดเมนที่คุณสร้าง IndexedDB 2. กดปุ่ม "X" หรือคลิก "Indexed Database"> Remove
Software Prophets

160

ฉันประสบความสำเร็จในการเรียกใช้สิ่งต่อไปนี้ใน Chrome:

indexedDB.deleteDatabase('DB NAME')

14
สิ่งนี้ยังคงล้มเหลวสำหรับฉันจากนั้นฉันก็รู้ว่าฉันจำเป็นต้องปิด DB ก่อน ในตัวจัดการความสำเร็จของฉันฉันเก็บข้อมูลอ้างอิงที่มีประโยชน์ไปยัง DB (e.target.result) ดังนั้นฉันจึงสามารถเรียก close () ได้ จากนั้นจึงสามารถเรียก deleteDatabase ('DB NAME') คุณจะต้องคลิกขวาและใช้ 'รีเฟรช indexedDB' หากคุณอยู่ในแท็บทรัพยากรของ Chrome dev tools เพื่อดูผลลัพธ์ของการลบ
fullstacklife

ไม่พบชื่อโฮสต์สำหรับแอป chrome แต่จะใช้ได้เมื่อคุณตรวจสอบแอป
khany

29

Alternarive คือการทำในคอนโซลนักพัฒนาโดยใช้คำสั่งนี้:

indexedDB.deleteDatabase("databaseName")

1
นี่เป็นวิธีที่ง่ายที่สุด คุณเพียงแค่คลิกขวาที่ 'IndexedDB' ในทรัพยากรและเลือก 'รีเฟรช IndexedDB' เพื่อยืนยันว่าฐานข้อมูลถูก zapped
Velojet

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

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/*"

3

ในการลบ IndexedDB จาก Chrome เวอร์ชัน OS X:

1) ในการตั้งค่าให้แสดงการตั้งค่าขั้นสูงจากนั้นคลิกปุ่ม "การตั้งค่าเนื้อหา" ใต้ส่วน "ความเป็นส่วนตัว"

2) ในป๊อปอัป "การตั้งค่าเนื้อหา" คลิกปุ่ม "คุกกี้และข้อมูลไซต์ทั้งหมด" ภายใต้ส่วน "คุกกี้"

3) ในป๊อปอัป "คุกกี้และข้อมูลไซต์" ให้ใช้กล่องข้อความ "คุกกี้ค้นหา" เพื่อค้นหาโดเมนที่เป็นแหล่งที่มาของ IndexedDB

4) คลิกที่รายการโดเมนในรายการ

5) คลิกที่แท็ก "ฐานข้อมูลที่จัดทำดัชนี" ที่อยู่ในโดเมน

6) คลิกที่ปุ่ม "ลบ" ในรายละเอียดแบบเลื่อนลงสำหรับฐานข้อมูลที่จัดทำดัชนี


2

ในไดเร็กทอรี Debian GNU / Linux

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

มีไฟล์ปกติ (ตัวอย่าง):

000003.log ปัจจุบันล็อกล็อก MANIFEST-000002


2

ไม่สามารถลบฐานข้อมูล IndexedDB (ซึ่งตรงข้ามกับร้านค้าและดัชนี) โดยทางโปรแกรม

สำหรับวิธีแก้ไขปัญหาด้วยตนเองโพสต์นี้จะให้รายละเอียดตำแหน่งของฐานข้อมูลบนระบบ Windows สำหรับ Firefox และ Chrome

อัปเดต: ขอบคุณนักพัฒนา Joshua Bell ที่ทำให้ Chrome ใช้deleteDatabaseเมธอดoff-spec (แต่มีประโยชน์อย่างมาก) กับwindow.indexedDBวัตถุ นี่คือcrbugที่มาถึงแพตช์นี้ นอกจากนี้ในรุ่นใหม่ของ IE คุณสามารถลบฐานข้อมูลผ่านการตั้งค่าแผง



2

ขณะนี้เครื่องมือสำหรับนักพัฒนา Chrome มีตัวเลือกในการลบฐานข้อมูลทั้งหมดของแอปใน "แอปพลิเคชัน / ล้างที่เก็บข้อมูล"


2

Chrome -> หน้าต่างตัวตรวจสอบ -> แอปพลิเคชัน -> ดูที่เมนูด้านซ้าย -> ที่เก็บข้อมูล -> IndexedDB


1

เพื่อให้คำตอบของ @ Judson สมบูรณ์ตามความคิดเห็นของ @ fullstacklife; สำหรับการลบIndexedDBใน chrome โดยใช้javascriptคุณควร:

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");
    };

0

หรือใช้เว็บแอปพลิเคชันของคุณในหน้าต่างใหม่ที่ไม่ระบุตัวตนและปิดเมื่อดำเนินการเสร็จแล้วฐานข้อมูลจะถูกลบ


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 ได้เนื่องจากเป็นฐานข้อมูลฝั่งไคลเอ็นต์และข้อมูลทั้งหมดจะถูกเก็บไว้ในเครื่อง


0

ใน windows คุณสามารถลบฐานข้อมูล IndexedDB ทั้งหมดได้ด้วยตนเองโดยค้นหาไดเร็กทอรี IndexedDB สำหรับเบราว์เซอร์และลบ

สำหรับ Chrome:

C: \ Users \ ชื่อผู้ใช้ \ AppData \ Local \ Google \ Chrome \ User Data \ Profile 1 \ IndexedDB

คุณสามารถลบทุกโฟลเดอร์ที่ล้าง indexedDB คุณสามารถเริ่มต้นใหม่ได้เลย


0

นี่อาจจะมากเกินไปสำหรับคำถามเฉพาะของคุณ แต่ฉันก็ยังคงลงเอยที่นี่ด้วยความพยายามที่จะลบ 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");
};

0

ฉันต้องการกำจัด indexedDB ใน Chrome ดังนั้นฉันจึงค้นหาสิ่งที่มีหมัดที่เรียกว่า "ผู้ช่วยอีเมล" ในคอมพิวเตอร์โดยใช้ MasterSeeker พบสิ่งนี้ในโฟลเดอร์มากมายที่ถูกสร้างดัชนี DB ใน Chrome ดูเหมือนง่ายเกินไปที่ฉันจะลบไฟล์เหล่านั้น ฉันมองหาวิธีการและลงเอยที่นี่ ฉันไปที่การตั้งค่า Chrome ด้วยพีซี Windows 10 ของฉัน ฉันเพิ่งลองใช้เวลาพยายามล้างข้อมูลการท่องเว็บ Presto - ไฟล์ทั้งหมดหายไปจาก indexedDB รวมถึง crapola "ผู้ช่วยอีเมล" ที่น่ากลัว ตอนนี้เมื่อฉันดูในโฟลเดอร์ indexedDB สิ่งที่ฉันเห็นมันปรากฏขึ้นอีกครั้งคือ https_mail.google.com_0.indexeddb.leveldb ซึ่งดูเหมือนจะเป็นสิ่งที่ปลอดภัยและไม่ระคายเคือง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.