IDBFactory
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.
A interface IDBFactory, pertencente a IndexedDB API , permite que aplicativos acessem de forma assíncrona os bancos de dados indexados. O objeto que implementa a interface é o window.indexedDB, com este objeto é possível criar, acessar, modificar e excluir informações de um banco de dados.
Nota: This feature is available in Web Workers.
Métodos
IDBFactory.open
-
Realizar a abertura de uma conexão com uma base de dados.
IDBFactory.deleteDatabase
-
Remove uma base de dados.
IDBFactory.cmp
-
Compara dois valores chaves e determina se elas são iguais e se não, quem é a maior.
Métodos Obsoletos
IDBFactory.open
, a versão original-
Este método realizava conexão com uma base de dados, ele ainda é usado em alguns navegadores.
Exemplo
No código abaixo, realizamos uma conexão com um banco de dados e incluímos manipuladores para os casos de sucesso e erro. Você pode obter o To-do Notifications app como exemplo (Visualizar exemplo.)
var note = document.querySelector("ul");
// In the following line, you should include the prefixes of implementations you want to test.
window.indexedDB =
window.indexedDB ||
window.mozIndexedDB ||
window.webkitIndexedDB ||
window.msIndexedDB;
// DON'T use "var indexedDB = ..." if you're not in a function.
// Moreover, you may need references to some window.IDB* objects:
window.IDBTransaction =
window.IDBTransaction ||
window.webkitIDBTransaction ||
window.msIDBTransaction;
window.IDBKeyRange =
window.IDBKeyRange || window.webkitIDBKeyRange || window.msIDBKeyRange;
// (Mozilla has never prefixed these objects, so we don't need window.mozIDB*)
// Let us open version 4 of our database
var DBOpenRequest = window.indexedDB.open("toDoList", 4);
// these two event handlers act on the database being opened successfully, or not
DBOpenRequest.onerror = function (event) {
note.innerHTML += "<li>Error loading database.</li>";
};
DBOpenRequest.onsuccess = function (event) {
note.innerHTML += "<li>Database initialised.</li>";
// 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;
};
Especificações
Specification |
---|
Indexed Database API 3.0 # factory-interface |
Compatibilidade com navegadores
BCD tables only load in the browser
See also
- Usando IndexedDB
- Inicializando uma Transaction:
IDBDatabase
- Usando uma Transaction:
IDBTransaction
- Configurando um Intervalo de chaves:
IDBKeyRange
- Recuperando e modificando dados:
IDBObjectStore
- Usando cursors:
IDBCursor
- Exemplo de referência: To-do Notifications (Visualizar exemplo.)