Как удалить indexedDB?

Я работаю в проекте, который предполагает использование IndexedDB. Поскольку я начинаю знакомиться с этой технологией, мне нужно иметь возможность вручную удалить indexedDB, чтобы я мог начать все сначала.

Я нашел способ сделать это в Firefox, но не могу найти способ для Google Chrome.

Я попытался удалить содержимое этой папки (я использую Mac):

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

но похоже, что у Chrome все еще есть БД, поэтому я не могу начать все сначала.


person PaquitoSoft    schedule 21.02.2012    source источник


Ответы (17)


Теоретически все, что вам нужно сделать для удаления 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/
person Todd Moses    schedule 22.02.2012
comment
В Chrome для OS X нет пункта меню «Параметры» или какой-либо ссылки на «Под капотом», поэтому для некоторых это может сбить с толку. - person Mark Caufman; 18.12.2012
comment
В OS X вы можете попасть туда через Chrome ›Clear Browsing Data ..., закройте диалоговое окно и затем перейдите к Advanced settings вместо Under the Hood. После этого ~ то же, что и выше. - person natevw; 27.12.2012
comment
Я думаю, что проще запустить indexedDB.deleteDatabase (databaseName) в консоли. - person user854301; 25.02.2013
comment
В OSX Chrome v31 шаг: 1. Настройки ›Показать дополнительные настройки ...› Конфиденциальность ›Настройки содержимого ...› Файлы cookie ›Все файлы cookie и данные сайтов ... 2. Выполните поиск, чтобы отфильтровать свой IP-адрес. 3. Щелкните Indexed database. 4. Удалите это! - person Amo Wu; 30.12.2013
comment
Возможно, это Chrome под Linux или более новая версия, но я знаю, как это сделать: 1. Настройки ›Показать дополнительные настройки ...› Настройки содержимого ›Все файлы cookie и данные сайта находят домен, в котором вы создали IndexedDB 2. Нажмите X или щелкните "Индексированная база данных" ›Удалить. - person Software Prophets; 01.12.2014

Мне удалось запустить в Chrome следующее:

indexedDB.deleteDatabase('DB NAME')
person Judson    schedule 23.02.2013
comment
Это продолжало у меня сбой, затем я понял, что сначала нужно закрыть БД. В моем обработчике успеха я храню удобную ссылку на БД (e.target.result), поэтому я могу вызвать для нее close (). Только после этого можно вызвать deleteDatabase («ИМЯ БД»). Вам также нужно будет щелкнуть правой кнопкой мыши и использовать «обновить indexedDB», если вы находитесь на вкладке ресурсов инструментов chrome dev, чтобы увидеть результат удаления. - person fullstacklife; 29.05.2014
comment
не удалось найти имя хоста для приложения Chrome, но это работает, когда вы проверяете приложение. - person khany; 02.03.2015

Другой вариант - сделать это в консоли разработчика с помощью этой команды:

indexedDB.deleteDatabase("databaseName")
person user854301    schedule 25.02.2013
comment
Это самый простой способ. Вам просто нужно щелкнуть правой кнопкой мыши «IndexedDB» в разделе «Ресурсы» и выбрать «Обновить IndexedDB», чтобы подтвердить, что база данных была заблокирована. - person Velojet; 30.12.2015

В 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]);
}; 
person RevoLab    schedule 09.05.2015

Чтобы удалить все базы данных 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/*"
person Tom Himanen    schedule 09.02.2014

Чтобы удалить IndexedDB из версии Chrome для OS X:

1) В настройках отобразите «Дополнительные настройки», затем нажмите кнопку «Настройки содержимого» в разделе «Конфиденциальность».

2) Во всплывающем окне «Настройки содержимого» нажмите кнопку «Все файлы cookie и данные сайта» в разделе «Файлы cookie».

3) Во всплывающем окне «Файлы cookie и данные сайта» используйте текстовое поле «Файлы cookie для поиска», чтобы найти домен, являющийся источником IndexedDB.

4) Щелкните запись домена в списке.

5) Щелкните по тегу «индексированная база данных», указанному под доменом.

6) Нажмите кнопку «Удалить» в раскрывающемся списке проиндексированной базы данных.

person Mark Caufman    schedule 17.12.2012

напишите этот сегмент кода в консоли

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

person isambitd    schedule 04.03.2017

В каталоге Debian GNU / Linux

/home/[имя пользователя ]/.config/google-chrome/Default/IndexedDB/chrome-xxx.indexeddb.leveldb/

содержит обычные файлы (например):

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

person Alexander Lubyagin    schedule 06.02.2013

Программно удалить базу данных IndexedDB (в отличие от хранилищ и индексов) невозможно.

Что касается ручных обходных путей, этот пост подробно описывает расположение базы данных в системах Windows для Firefox и Chrome.

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

person buley    schedule 20.03.2012

В инструментах разработчика Chrome теперь есть возможность удалить все базы данных для приложения в разделе «Приложение / Очистить хранилище».

person Aur Saraf    schedule 23.09.2017

Возможно, это перебор для вашего конкретного вопроса, но я все время заканчивал здесь, пытаясь удалить свой 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");
};
person Preston    schedule 06.08.2018
comment
Даже если это старый вопрос / ответ, большое спасибо !! - person Peter; 14.03.2021

Chrome -> Окно инспектора -> Приложение -> посмотрите левое меню -> Хранилище -> IndexedDB

person patrick    schedule 04.12.2017

Чтобы завершить ответ @Jadson на основе комментария @ 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");
    };
person MeirDayan    schedule 12.12.2019

Или используйте свое веб-приложение в новом окне в режиме инкогнито и закройте его, когда закончите: база данных удалена.

person watsoup    schedule 13.09.2012

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

Вам просто нужно сделать видимой папку библиотеки. Все файлы хранятся в папках (которые называются доменными именами), и файлы используют хэш, но вы можете определить имя базы данных по нему. Вы можете удалить данные из IDB, потому что это база данных на стороне клиента, и все данные хранятся локально.

person stefan    schedule 19.12.2012

В Windows вы можете вручную удалить все базы данных IndexedDB, указав каталог IndexedDB для браузера и удалив его.

Для Chrome:

C: \ Users \ имя-пользователя \ AppData \ Local \ Google \ Chrome \ User Data \ Profile 1 \ IndexedDB

Вы можете удалить каждую папку, которая очищает indexedDB. Вы можете начать все сначала.

person Naveen santhosh    schedule 17.09.2014

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

person Sheila Bliss    schedule 09.06.2019