IDBFactory
Базовая Широко доступна *
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с сентября 2021 года.
* Некоторые части этой функции могут иметь различный уровень поддержки.
Примечание: Эта функция доступна в Web Workers.
Интерфейс IDBFactory API IndexedDB позволяет приложениям асинхронно получать доступ к индексированным базам данных. Объект, реализующий интерфейс, — window.indexedDB. С помощью этого объекта вы открываете (то есть создаете и получаете доступ к) и удаляете базу данных, а не напрямую с помощью IDBFactory.
Методы экземпляра
IDBFactory.open()-
Запрашивает открытие соединения с базой данных.
IDBFactory.deleteDatabase()-
Запрашивает удаление базы данных.
IDBFactory.cmp()-
Сравнивает два ключа и возвращает результат, указывающий, какой из них имеет большее значение.
IDBFactory.databases()-
Возвращает промис, который выполняется с массивом всех доступных баз данных, включая их имена и версии.
Пример
В следующем фрагменте кода мы запрашиваем открытие базы данных и включаем обработчики для успешных и ошибочных случаев. Полный рабочий пример см. в нашем приложении To-do Notifications (смотреть пример онлайн).
// Let us open version 4 of our database
const DBOpenRequest = window.indexedDB.open("toDoList", 4);
// these two event handlers act on the database being opened successfully, or not
DBOpenRequest.onerror = (event) => {
console.error("Error loading database.");
};
DBOpenRequest.onsuccess = (event) => {
console.info("Database initialized.");
// store the result of opening the database in the db variable. This is used a lot later on, for opening transactions and suchlike.
db = DBOpenRequest.result;
};
Спецификации
| Спецификация |
|---|
| Indexed Database API 3.0 # factory-interface |
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
IDBFactory |
2423–57 | 12 | 1610–16 | 15 | 8 | 2525–57 | 22 | 14 | 8 | 1.51.5–7.0 | 4.4≤37–57 |
cmp |
23 | 12 | 10 | 15 | 8 | 25 | 22 | 14 | 8 | 1.5 | 4.4 |
databases |
72 | 79 | 126 | 60 | 14 | 72 | 126 | 51 | 14 | 11.0 | 72 |
deleteDatabase |
23 | 12 | 10 | 15 | 8 | 25 | 22 | 14 | 8 | 1.5 | 4.4 |
open |
23 | 12 | 10 | 15 | 1514–15В некоторых выпусках Safari 14 первый вызовindexedDB.open() зависает навсегда, см. ошибку 226547. |
25 | 22 | 14 | 1514–15В некоторых выпусках Safari на iOS 14 первый вызовindexedDB.open() зависает навсегда, см. ошибку 226547. |
1.5 | 4.4 |
worker_support |
23 | 12 | 37 | 15 | 10 | 25 | 37 | 14 | 10 | 1.5 | 4.4 |
См. также
- Использование IndexedDB
- Начало транзакций:
IDBDatabase - Использование транзакций:
IDBTransaction - Установка диапазона ключей:
IDBKeyRange - Получение и изменение данных:
IDBObjectStore - Использование курсоров:
IDBCursor - Пример ссылки: To-do Notifications (смотреть пример онлайн).
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/IDBFactory