Как удалить indexedDB в Chrome
Я работаю в проекте, который включает в себя использование IndexedDB. Поскольку я начинаю знать эту технологию, мне нужно иметь возможность удалить indexedDB вручную, чтобы я мог начать все сначала.
Я нашел способ сделать это в Firefox, но я не могу найти способ для Google Chrome.
Я попытался удалить содержимое этой папки (я использую Mac):
{home}/Library/Application Support/Google/Chrome/Default/IndexedDB
но, похоже, Chrome все еще имеет db в любом месте, поэтому я не могу начать все сначала.
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]);
};
удалить все базы данных Chrome IndexedDB запускают следующее в эмуляторе терминала OSX.
rm -rf ${HOME}/Library/Application\ Support/Google/Chrome/Default/IndexedDB/*
теперь перезапустите браузер, и все.
поскольку мне очень часто нужно очищать базы данных IndexedDB, я установил псевдоним в своем ~./файл.
alias purge-idb="rm -rf ${HOME}/Library/Application\ Support/Google/Chrome/Default/IndexedDB/*"
чтобы удалить IndexedDB из версии Chrome OS X:
1) в настройках, Показать дополнительные настройки затем нажмите кнопку "Настройки содержимого" в разделе "Конфиденциальность".
2) во всплывающем окне" Настройки контента "нажмите кнопку" все куки и данные сайта "в разделе" куки".
3) во всплывающем окне "Cookies и данные сайта" используйте текстовое поле "Search Cookies", чтобы найти домен, который является источником IndexedDB.
4) Нажмите о записи домена в списке.
5) Нажмите на тег "индексированная база данных", указанный в домене.
6) Нажмите кнопку "Удалить" в раскрывающемся списке для индексированной базы данных.
в каталоге Debian GNU / Linux
/ home / [имя пользователя]/.config/google-chrome/по умолчанию/IndexedDB / chrome-xxx.indexeddb.leveldb/
содержит обычные файлы (например):
000003.log, CURRENT, LOCK, LOG, MANIFEST-000002
программно удалить базу данных IndexedDB (в отличие от хранилищ и индексов) невозможно.
как вручную, этот пост подробная информация о расположении базы данных в системах Windows для Firefox и Chrome.
обновление: благодаря разработчику Джошуа Беллу Chrome реализует off-spec (но безумно полезный) deleteDatabase
метод
инструменты разработчика Chrome теперь имеют возможность удалить все базы данных для приложения в разделе "приложение / очистить хранилище".
В Chrome 62
- открыть
Settings
- убедитесь, что
Advanced
переключатель открыт - клик
Content Settings
- клик
Cookies
- клик
See all cookies and site data
- в правом верхнем углу вы увидите
search bar
, введите домен, который вы ищете (т. е. имя localhost) - Нажмите в элемент списка
- удалить элементы
Примечание: представьте, что у вас открыты два браузера Chrome, вы вошли в один и вы запускаете другой из Visual Studio как часть процесса отладки (но вы не вошли в него)... удаление данных IDB в одном не повлияет на другое.
кроме того, используйте веб-приложение в новом окне инкогнито и закройте его, когда закончите: база данных удалена.
In chrome OSX - / пользователи / пользователь / библиотека / поддержка приложений/Google / Chrome / по умолчанию / IndexedDB В Firefox на OSX - пользователи/пользователь/библиотеки/application поддержки/Firefox в/профили/4zaemxcn.по умолчанию / 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");
};