Web/API/IDBFactory

From Get docs

The IDBFactory interface of the IndexedDB API lets applications asynchronously access the indexed databases. The object that implements the interface is window.indexedDB. You open — that is, create and access — and delete a database with this object, and not directly with IDBFactory.

Note: This feature is available in Web Workers.

Methods

IDBFactory.open
The current method to request opening a connection to a database.
IDBFactory.deleteDatabase
A method to request the deletion of a database.
IDBFactory.cmp
A method that compares two keys and returns a result indicating which one is greater in value.
IDBFactory.databases
A method that returns a list of all available databases, including their names and versions.

Example

In the following code snippet, we make a request to open a database, and include handlers for the success and error cases. For a full working example, see our To-do Notifications app ([[../../../../../../mdn.github.io/to-do-notifications/index|view example live]].)

// 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) {
  console.error("Error loading database.");
};
 
DBOpenRequest.onsuccess = function(event) {
  console.info("Database initialised.");
    
  // 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;
};

Specifications

Specification Status Comment
Indexed Database API 2.0The definition of 'IDBFactory' in that specification. Recommendation
Indexed Database API DraftThe definition of 'IDBFactory' in that specification. Recommendation

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
IDBFactory

Chrome Full support 24


Full support 24


No support 23 — 57

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Edge

Full support 12

Firefox Full support 16


Full support 16


No support 10 — 16

Prefixed'

Prefixed' Implemented with the vendor prefix: moz

IE

Partial support 10

Opera

Full support 15

Safari

Full support 7

WebView Android Full support Yes


Full support Yes


No support ? — 57

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Chrome Android Full support 25


Full support 25


No support 25 — 57

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Firefox Android

Full support 22

Opera Android

Full support 14

Safari iOS

Full support 8

Samsung Internet Android Full support 1.5


Full support 1.5


No support 1.5 — 7.0

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

cmp

Chrome Full support 24


Full support 24


No support 23 — 24

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Edge

Full support 12

Firefox Full support 16


Full support 16


No support 10 — 16

Prefixed'

Prefixed' Implemented with the vendor prefix: moz

IE

Partial support 10

Opera

Full support 15

Safari

Full support 7

WebView Android Full support Yes


Full support Yes


No support ? — ?

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Chrome Android

Full support 25

Firefox Android

Full support 22

Opera Android

Full support 14

Safari iOS

Full support 8

Samsung Internet Android

Full support 1.5

databases

Experimental'

Chrome

Full support 71

Edge

Full support 79

Firefox No support No

Notes'

No support No

Notes'

Notes' See bug 934640.

IE

No support No

Opera

Full support 58

Safari

Full support 14

WebView Android

Full support 71

Chrome Android

Full support 71

Firefox Android No support No

Notes'

No support No

Notes'

Notes' See bug 934640.

Opera Android

Full support Yes

Safari iOS

Full support 14

Samsung Internet Android

Full support 10.0

deleteDatabase

Chrome Full support 24


Full support 24


No support 23 — 24

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Edge

Full support 12

Firefox Full support 16


Full support 16


No support 10 — 16

Prefixed'

Prefixed' Implemented with the vendor prefix: moz

IE

Partial support 10

Opera

Full support 15

Safari

Full support 7

WebView Android Full support Yes


Full support Yes


No support ? — ?

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Chrome Android

Full support 25

Firefox Android

Full support 22

Opera Android

Full support 14

Safari iOS

Full support 8

Samsung Internet Android

Full support 1.5

open

Chrome Full support 24


Full support 24


No support 23 — 24

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Edge

Full support 12

Firefox Full support 16


Full support 16


No support 10 — 16

Prefixed'

Prefixed' Implemented with the vendor prefix: moz

IE

Partial support 10

Opera

Full support 15

Safari

Full support 7

WebView Android Full support Yes


Full support Yes


No support ? — ?

Prefixed'

Prefixed' Implemented with the vendor prefix: webkit

Chrome Android

Full support 25

Firefox Android

Full support 22

Opera Android

Full support 14

Safari iOS

Full support 8

Samsung Internet Android

Full support 1.5

Available in workers Chrome

Full support Yes

Edge

Full support ≤18

Firefox

Full support 37

IE

?

Opera

Full support Yes

Safari

?

WebView Android

Full support Yes

Chrome Android

Full support Yes

Firefox Android

Full support 37

Opera Android

Full support Yes

Safari iOS

?

Samsung Internet Android

Full support Yes

Legend

Full support  
Full support
Partial support  
Partial support
No support  
No support
Compatibility unknown  
Compatibility unknown
Experimental. Expect behavior to change in the future.'
Experimental. Expect behavior to change in the future.
See implementation notes.'
See implementation notes.
Requires a vendor prefix or different name for use.'
Requires a vendor prefix or different name for use.


See also