Подтвердить что ты не робот

IndexedDB просмотреть все базы данных и объекты

Я использую IndexedDB в приложении Windows 8, и я очень новичок в обоих. Я смог успешно создавать, читать, обновлять, удалять объекты из хранилищ объектов и создавать пару баз данных и несколько хранилищ объектов. Мой вопрос в том, как я могу перечислить все хранилища и базы объектов? Я создаю несколько фиктивных, которые не нужны, и я хотел бы немного почистить вещи, но я не могу вспомнить, как они названы. Возможно, это анальное ретентивное, но похоже, что должно быть возможно перечислить все базы данных и магазины. Спасибо!

4b9b3361

Ответ 1

В настоящее время нет способа перечисления существующих баз данных в стандарте . Приложения Windows 8 используют IE, который не предоставляет нестандартный метод webkitGetDatabaseNames. Возможно, вы сможете очистить базы данных, используя диалог в IE10.

Список хранилищ внутри базы данных определен в стандарте с помощью метода objectStoreNames экземпляра IDBDatabase.

Ответ 2

РЕДАКТИРОВАТЬ 2018 Этот ответ больше не применяется:

webkitGetDatabaseNames() is deprecated in chrome 60


В Chrome webkit была функция, которая возвращала бы все имена баз данных, эта функция больше не доступна для Chrome 60 (webkitgetdatabasenames):

indexedDB.webkitGetDatabaseNames().onsuccess = function(sender,args)
{ console.log(sender.target.result); };

И есть еще одна функция, которая перечисляет все хранилища объектов в одной базе данных, которые работают во всех браузерах:

indexedDB.open(databaseName).onsuccess = function(sender, args) 
{ console.log(sender.target.result.objectStoreNames); };

Ответ 3

На момент написания этого поста [chrome 72] Вы можете перечислить все базы данных, используя следующую команду в консоли браузера. По сути indexedDB.databases() является Promise. Вы можете использовать его, чтобы получить список всех баз данных в виде массива. Запустите цикл для массива, чтобы получить имена баз данных.

indexedDB.databases().then(r => console.log(r))

Надеюсь это поможет

Ответ 4

Поскольку все остальные темы ссылаются сюда как на дубликаты. В Chrome вы можете просмотреть и удалить все созданные базы данных в Developer Tools > Application > Storage.

Чтобы просмотреть внутренние компоненты IndexedDB: chrome://indexeddb-internals/