Как удалить indexedDB в Chrome
Я работаю в проекте, который включает в себя использование IndexedDB. Поскольку я начинаю знать эту технологию, мне нужно иметь возможность удалить indexedDB вручную, чтобы я мог начать все сначала.
Я нашел способ сделать это в Firefox, но я не могу найти способ для Google Chrome.
Я попытался удалить содержимое этой папки (я использую Mac):
{home}/Library/Application Support/Google/Chrome/Default/IndexedDB
но кажется, что Chrome все еще имеет БД в любом месте, поэтому я не могу начать все сначала.
15 ответов:
в теории, все, что вам нужно сделать, чтобы удалить IndexedDB в Chrome является:
- в Chrome перейдите в настройки > под капотом > Настройки контента > все файлы cookie и данные сайта > найдите домен, в котором вы создали IndexedDB
- нажмите либо "X", либо нажмите" индексированная база данных " > удалить
в Windows, файл находится здесь:
%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\IndexedDB
на Mac, выполните следующие действия:
- в Chrome, перейдите в "Настройки" (или" настройки " в меню Chrome)
- Нажмите кнопку "Показать дополнительные настройки" (в нижней части страницы)
- перейдите в раздел "Конфиденциальность" > "Настройки контента" > "все файлы cookie и данные сайта" > найдите домен, в котором вы создали IndexedDB
- нажмите либо "X", либо нажмите" индексированная база данных " > удалить
на Mac папка находится здесь:
/Users/[USERNAME]/Library/Application Support/Google/Chrome/Default/IndexedDB/
в Linux папка находится по адресу:
/home/[USERNAME]/.config/google-chrome/Default/IndexedDB/
Alternarive должен сделать это в консоли разработчиков, используя эту команду:
indexedDB.deleteDatabase("databaseName")
в 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]); };
удалить все базы данных технологии 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 из версии OS X Chrome:
1) в настройках, Показать дополнительные настройки, а затем нажмите кнопку "Настройки контента" в разделе "Конфиденциальность".
2) во всплывающем окне" Настройки контента "нажмите кнопку" Все файлы cookie и данные сайта "в разделе" Файлы cookie".
3) во всплывающем окне" файлы cookie и данные сайта "используйте текстовое поле" Поиск файлов cookie " для поиска домена, который является источником IndexedDB.
4) Нажмите о записи домена в списке.
5) Нажмите на тег "индексированная база данных", указанный в домене.
6) Нажмите на кнопку "Удалить" в раскрывающемся списке подробно для индексированной базы данных.
в каталоге Debian GNU / Linux
/ home / [username]/.в config/Google-хром/по умолчанию/технологии IndexedDB/хром-ХХХ.технологии IndexedDB.leveldb/
содержит обычные файлы (например):
000003.log, CURRENT, LOCK, LOG, MANIFEST-000002
невозможно удалить базу данных IndexedDB (в отличие от хранилищ и индексов) программно.
как вручную, этот пост сведения о расположении базы данных в системах Windows для Firefox и Chrome.
обновление: благодаря разработчику Джошуа Белл, Chrome реализует off-spec (но безумно полезно)
deleteDatabase
метод
инструменты разработчика Chrome теперь имеют возможность удалить все базы данных для приложения в разделе "Application / Clear Storage".
В Chrome 62
- открыть
Settings
- убедитесь, что
Advanced
переключатель открыт- клик
Content Settings
- клик
Cookies
- клик
See all cookies and site data
- в правом верхнем углу вы увидите
search bar
, введите домен, который вы ищете (т. е. localhost)- нажмите на элемент списка
- удалить ваши товары
Примечание: представьте, что у вас есть два браузера Chrome открыты, вы вошли в один и вы запускаете другой из Visual Studio как часть процесса отладки (но вы не вошли в него)... удаление данных IDB в одном не повлияет на другое.
кроме того, используйте свое веб-приложение в новом окне инкогнито и закройте его, когда закончите: база данных удалена.
в Chrome на OSX- /пользователи/пользователь/библиотеки/application поддержки/Гугл/Хром/по умолчанию/технологии IndexedDB Firefox OSX-пользователи/пользователь/библиотека/поддержка приложений/Firefox/профили / 4zaemxcn.default / indexedDB
вам просто нужно сделать видимой папку библиотеки. Все файлы хранятся в папках (которые называются доменным именем) и файлы используют хэш, но вы можете выяснить имя базы данных из него. Вы можете удалить данные из IDB, потому что это база данных на стороне клиента, и все данные хранится локально.
в windows вы можете вручную удалить все базы данных IndexedDB, найдя каталог IndexedDB для браузера и удалив его
Для Chrome:
C:\Users\user-name\AppData\Local\Google\Chrome\User Data\Profile 1\IndexedDB
вы можете удалить каждую папку, которая очищает indexedDB. Теперь ты можешь начать все сначала.
это может быть излишним для вашего конкретного вопроса, но я продолжал заканчивать здесь в моей борьбе за удаление моего 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"); };