Як видалити indexedDB?


92

Я працюю в проекті, який передбачає використання IndexedDB. Оскільки я починаю знати цю технологію, мені потрібно мати можливість видалити indexedDB вручну, щоб я міг почати спочатку.

Я знайшов спосіб зробити це у Firefox, але не можу знайти спосіб для Google Chrome.

Я спробував видалити вміст цієї папки (я використовую Mac):

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

але, здається, Chrome все ще має БД, тому я не можу почати спочатку.

Відповіді:


101

Теоретично, все, що вам потрібно зробити, щоб видалити IndexedDB в Chrome, це:

  1. У Chrome перейдіть до «Параметри»> «Під капотом»> «Налаштування вмісту»> «Усі файли cookie та дані веб-сайту»> знайдіть домен, у якому ви створили IndexedDB
  2. Натисніть "X" або натисніть "Індексована база даних"> Видалити

У Windows файл знаходиться тут:

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

На Mac виконайте такі дії:

  1. У Chrome перейдіть у "Налаштування" (або "Налаштування" в меню Chrome)
  2. Натисніть "показати розширені налаштування" (внизу сторінки)
  3. Перейдіть до "Конфіденційність"> "Налаштування вмісту"> "Усі файли cookie та дані веб-сайту"> знайдіть домен, у якому ви створили IndexedDB
  4. Натисніть "X" або натисніть "Індексована база даних"> Видалити

На Mac папка знаходиться тут:

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

У Linux папка знаходиться за адресою:

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

2
Chrome для OS X не має пункту меню "Параметри" або будь-якого посилання на "Під капотом", тому для деяких людей це може заплутати.
Марк Коуфман,

3
В OS X ви можете туди потрапити через "Chrome> Очистити дані перегляду ...", закрити діалогове вікно, а потім перейти до "Додаткові налаштування" замість "Під капотом". Після цього це ~ те саме, що і вище.
natevw

56
Я думаю, що простіше запустити indexedDB.deleteDatabase ("ім'я бази даних") у консолі.
user854301

1
На кроці OSX Chrome v31: 1. Налаштування> Показати розширені налаштування ...> Конфіденційність> Налаштування вмісту ...> Файли cookie> Усі файли cookie та дані веб-сайтів ... 2. Шукайте, щоб відфільтрувати свою IP-адресу. 3. Клацніть Indexed database. 4. Видаліть його!
Amo Wu

Можливо, це Chrome під Linux або, можливо, це новіша версія, але ось як це зробити, я впевнений: 1. Налаштування> Показати розширені налаштування ...> Налаштування вмісту> Усі файли cookie та дані веб-сайту знаходять домен, у якому ви створили IndexedDB 2. Натисніть "X" або натисніть "Індексована база даних"> Видалити
Software Prophets

160

Мені вдалося запустити в Chrome наступне:

indexedDB.deleteDatabase('DB NAME')

14
Це продовжувало зазнавати невдач для мене, тоді я зрозумів, що спочатку потрібно закрити БД. У своєму обробнику успіху я зберігаю зручне посилання на БД (e.target.result), щоб я міг зателефонувати до неї close (). Тільки тоді можна викликати deleteDatabase ('ІМЯ БД'). Вам також потрібно буде клацнути правою кнопкою миші та використовувати 'refresh indexedDB', якщо ви перебуваєте на вкладці ресурси chrome dev tools, щоб побачити результат видалення.
fullstacklife

не вдалося знайти ім’я хосту для програми chrome, але це працює, коли ви перевіряєте програму.
khany

29

Alternarive - це зробити в консолі розробника, використовуючи цю команду:

indexedDB.deleteDatabase("databaseName")

1
Це найпростіший спосіб. Вам просто потрібно клацнути правою кнопкою миші на "IndexedDB" у "Ресурсах" і вибрати "Refresh IndexedDB", щоб підтвердити, що база даних завантажена.
Velojet

10

У веб-наборі Chrome ви можете використовувати, 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 з OS X версії Chrome:

1) У Налаштуваннях відкрийте Додаткові налаштування, а потім натисніть кнопку «Налаштування вмісту» в розділі «Конфіденційність».

2) У спливаючому вікні "Налаштування вмісту" натисніть кнопку "Усі файли cookie та дані веб-сайту" у розділі "Файли cookie".

3) У спливаючому вікні "Файли cookie та дані веб-сайту" використовуйте текстове поле "Файли cookie пошуку", щоб знайти домен, який є джерелом IndexedDB.

4) Клацніть на запис домену у списку.

5) Клацніть на тег "проіндексована база даних", зазначений під доменом.

6) Натисніть кнопку "Видалити" у випадаючому меню для індексованої бази даних.


2

У каталозі Debian GNU / Linux

/home/[користувацьке ім'я <br/.config/google-chrome/Default/IndexedDB/chrome-xxx.indexeddb.leveldb/

містить звичайні файли (наприклад):

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


2

Неможливо програмно видалити базу даних IndexedDB (на відміну від сховищ та індексів).

Що стосується обхідних шляхів, у цій публікації детально описується розташування бази даних у системах Windows для Firefox та Chrome.

Оновлення: Завдяки розробнику Джошуа Беллу Chrome реалізує deleteDatabaseна window.indexedDBоб’єкті неспецифічний (але шалено корисний) метод . Ось помилка, на яку потрапив цей патч. Більше того, в нових версіях IE ви можете видаляти бази даних за допомогою панелі налаштувань .


2

написати цей сегмент коду в консолі

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


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 \ Дані користувача \ Профіль 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

Мені потрібно було позбутися індексованого DB у Chrome. Тож я шукаю на своєму комп’ютері за допомогою MasterSeeker цю паршиву штуку, яка називається «асистент електронної пошти». Знайшов річ у купу папок, які проіндексували DB у Chrome. Здавалося надто легко, що я просто видаляю ці файли. Я шукав, як, і опинився тут. Я перейшов до налаштувань chrome із своїм ПК з Windows 10. Я просто спробував очистити дані веб-перегляду. Presto - усі ці файли зникли з indexedDB, включаючи страшну краполу "помічника електронної пошти". Тепер, коли я заглядаю в папку indexedDB, все, що я бачу, що знову з’явилося, це https_mail.google.com_0.indexeddb.leveldb - що виглядає як безпечна річ, що не дратує.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.