Как удалить indexedDB в Chrome

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

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

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

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

но, похоже, у Chrome есть db где угодно, поэтому я не могу начать все заново.

    Теоретически все, что вам нужно сделать для удаления IndexedDB в Chrome, это:

    1. В Chrome перейдите в меню «Параметры»> «Под капотом»> «Настройки содержимого»> «Файлы cookie» и «Данные сайта»> найдите домен, в котором вы создали IndexedDB
    2. Нажмите «X» или нажмите «Индексированная firebase database»> «Удалить».

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

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

    На Mac выполните следующие действия:

    1. В Chrome перейдите в «Настройки» (или «Настройки» в меню Chrome)
    2. Нажмите «показать дополнительные настройки» (внизу страницы).
    3. Перейдите в раздел «Конфиденциальность»> «Настройки содержимого»> «Все cookies и данные сайта»> найдите домен, в котором вы создали IndexedDB
    4. Нажмите «X» или нажмите «Индексированная firebase database»> «Удалить».

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

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

    В Linux папка расположена по адресу:

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

    В Chrome у меня был успех:

     indexedDB.deleteDatabase('DB NAME') 

    Альтернативно это сделать в консоли разработчика, используя следующую команду:

     indexedDB.deleteDatabase("databaseName") 

    В webkitGetDatabaseNames браузере Chrome вы можете использовать webkitGetDatabaseNames который возвращает все имена баз данных

    С помощью этого кода вы можете удалить все локальные indexedDB:

     window.indexedDB.webkitGetDatabaseNames().onsuccess = function(sender,args) { var r = sender.target.result; for(var i in r) indexedDB.deleteDatabase(r[i]); }; 

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

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

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

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

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

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

    5) Нажмите на тег «индексированной базы данных», указанный в домене.

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

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

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

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

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

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

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

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

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

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

    window.indexedDB.deleteDatabase()

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

    В Chrome OSX- / Пользователи / Пользователь / Библиотека / Поддержка приложений / Google / Chrome / Default / IndexedDB Firefox OSX – Пользователи / пользователь / Библиотека / Поддержка приложений / Firefox / Профили / 4zaemxcn.default / indexedDB

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

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

    Для Chrome:

    C: \ Users \ имя_пользователя \ AppData \ Local \ Google \ Chrome \ Пользовательские данные \ Профиль 1 \ IndexedDB

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

    В Chrome 62

    1. Открыть Settings
    2. Убедитесь, что переключатель Advanced открыт.
    3. Нажмите Content Settings
    4. Нажмите « Cookies
    5. Нажмите See all cookies and site data
    6. В правом верхнем углу вы увидите search bar , введите домен, который вы используете (то есть localhost)
    7. Нажмите на элемент списка
    8. Удалить свои товары

    Примечание. Представьте, что вы открыли два браузера Chrome, вы вошли в один, и вы запускаете другой из Visual Studio как часть процесса отладки (но вы не вошли в него) … удаление данных IDB в одном не повлияет другой.

    Это, возможно, слишком много для вашего конкретного вопроса, но я продолжал оставаться здесь в своей борьбе за удаление моего 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"); }; 
    Давайте будем гением компьютера.