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.)

js
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