IDBFactory

L'interface IDBFactory fait partie de l'API IndexedDB et permet aux applications d'accéder à des bases de données de façon asynchrone. L'objet qui implémente cette interface  est window.indexedDB. Autrement dit, on créera et on accèdera à une base de données (voire on la supprimera) directement via cet objet plutôt qu'en utilisant l'objet IDBFactory.

Note : Cette fonctionnalité est disponible via les Web Workers.

Méthodes

IDBFactory.open
Une méthode qui permet d'ouvrir une connexion à une base de données.
IDBFactory.deleteDatabase
Une méthode qui permet de demander la suppression d'une base de données.
IDBFactory.cmp
Une méthode qui compare deux clés et renvoie un résultat qui indique laquelle est la plus grande.
IDBFactory.databases
Une méthode qui répertorie toutes les bases de données disponibles, y compris leurs noms et leurs versions.

Exemples

Dans l'exemple qui suit, on effectue une requête sur une base de données et on gère les cas de succès et d'erreur. Vous pouvez consulter un exemple complet sur notre application To-do Notifications (voir l'exemple en live).

var note = document.querySelector("ul");

// Dans la ligne suivante, inclure les préfixes des 
// implémentations à tester
window.indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
// attention à ne pas utiliser "var indexedDB = ..." 
// si on n'est pas dans une fonction

// On pourra éventuellement avoir besoin de références
// envers les objets window.IDB* :
window.IDBTransaction = window.IDBTransaction || window.webkitIDBTransaction || window.msIDBTransaction;
window.IDBKeyRange = window.IDBKeyRange || window.webkitIDBKeyRange || window.msIDBKeyRange;
// (Mozilla n'a jamais préfixé ces objets, 
// il n'est pas nécessaire d'écrire window.mozIDB*)

// On ouvre la version 4 de notre base de données
var DBOpenRequest = window.indexedDB.open("toDoList", 4);

// On ajoute ensuite les gestionnaires d'évènements
// pour gérer le succès ou l'échec de l'ouverture
// de la base de données
DBOpenRequest.onerror = function(event) {
  note.innerHTML += '<li>Erreur lors du chargement de la base.</li>';
};
 
DBOpenRequest.onsuccess = function(event) {
  note.innerHTML += '<li>Base de données initialisée.</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;
};

Spécifications

Spécification État Commentaires
Indexed Database API 2.0
La définition de 'IDBFactory' dans cette spécification.
Recommendation
Indexed Database API Draft
La définition de 'IDBFactory' dans cette spécification.
Recommendation
Unknown
La définition de 'IDBFactory' dans cette spécification.
Statut inconnu

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung Internet
IDBFactoryChrome Support complet 24
Support complet 24
Aucun support 23 — 57
Préfixée
Préfixée Nécessite l'utilisation d'un préfixe : webkit
Edge Support complet OuiFirefox Support complet 16
Support complet 16
Aucun support 10 — 16
Préfixée
Préfixée Nécessite l'utilisation d'un préfixe : moz
IE Support complet 10
Notes
Support complet 10
Notes
Notes partial
Opera Support complet 15Safari Support complet 7WebView Android Support complet Oui
Support complet Oui
Aucun support ? — 57
Préfixée
Préfixée Nécessite l'utilisation d'un préfixe : webkit
Chrome Android Support complet 25
Support complet 25
Aucun support 25 — 57
Préfixée
Préfixée Nécessite l'utilisation d'un préfixe : webkit
Firefox Android Support complet 22Opera Android Support complet 14Safari iOS Support complet 8Samsung Internet Android Support complet Oui
Support complet Oui
Aucun support ? — 7.0
Préfixée
Préfixée Nécessite l'utilisation d'un préfixe : webkit
cmpChrome Support complet 24
Support complet 24
Aucun support 23 — 24
Préfixée
Préfixée Nécessite l'utilisation d'un préfixe : webkit
Edge Support complet 12Firefox Support complet 16
Support complet 16
Aucun support 10 — 16
Préfixée
Préfixée Nécessite l'utilisation d'un préfixe : moz
IE Support complet 10
Notes
Support complet 10
Notes
Notes partial
Opera Support complet 15Safari Support complet 7WebView Android Support complet Oui
Support complet Oui
Aucun support ? — ?
Préfixée
Préfixée Nécessite l'utilisation d'un préfixe : webkit
Chrome Android Support complet 25Firefox Android Support complet 22Opera Android Support complet 14Safari iOS Support complet 8Samsung Internet Android Support complet Oui
databases
Expérimentale
Chrome Support complet 71Edge Aucun support NonFirefox Aucun support Non
Notes
Aucun support Non
Notes
Notes See bug 934640.
IE Aucun support NonOpera Support complet 58Safari Aucun support NonWebView Android Support complet 71Chrome Android Support complet 71Firefox Android Aucun support Non
Notes
Aucun support Non
Notes
Notes See bug 934640.
Opera Android Support complet OuiSafari iOS Aucun support NonSamsung Internet Android Aucun support Non
deleteDatabaseChrome Support complet 24
Support complet 24
Aucun support 23 — 24
Préfixée
Préfixée Nécessite l'utilisation d'un préfixe : webkit
Edge Support complet 12Firefox Support complet 16
Support complet 16
Aucun support 10 — 16
Préfixée
Préfixée Nécessite l'utilisation d'un préfixe : moz
IE Support complet 10
Notes
Support complet 10
Notes
Notes partial
Opera Support complet 15Safari Support complet 7WebView Android Support complet Oui
Support complet Oui
Aucun support ? — ?
Préfixée
Préfixée Nécessite l'utilisation d'un préfixe : webkit
Chrome Android Support complet 25Firefox Android Support complet 22Opera Android Support complet 14Safari iOS Support complet 8Samsung Internet Android Support complet Oui
openChrome Support complet 24
Support complet 24
Aucun support 23 — 24
Préfixée
Préfixée Nécessite l'utilisation d'un préfixe : webkit
Edge Support complet 12Firefox Support complet 16
Support complet 16
Aucun support 10 — 16
Préfixée
Préfixée Nécessite l'utilisation d'un préfixe : moz
IE Support complet 10
Notes
Support complet 10
Notes
Notes partial
Opera Support complet 15Safari Support complet 7WebView Android Support complet Oui
Support complet Oui
Aucun support ? — ?
Préfixée
Préfixée Nécessite l'utilisation d'un préfixe : webkit
Chrome Android Support complet 25Firefox Android Support complet 22Opera Android Support complet 14Safari iOS Support complet 8Samsung Internet Android Support complet Oui
Available in workersChrome Support complet OuiEdge Support complet OuiFirefox Support complet 37IE ? Opera Support complet OuiSafari ? WebView Android Support complet OuiChrome Android Support complet OuiFirefox Android Support complet 37Opera Android Support complet OuiSafari iOS ? Samsung Internet Android Support complet Oui

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Compatibilité inconnue  
Compatibilité inconnue
Fonctionnalité expérimentale. Celle-ci peut être amenée à changer par la suite.
Fonctionnalité expérimentale. Celle-ci peut être amenée à changer par la suite.
Voir les notes d'implémentation.
Voir les notes d'implémentation.
Cette fonctionnalité nécessite un préfixe particulier ou utilise un autre nom.
Cette fonctionnalité nécessite un préfixe particulier ou utilise un autre nom.

Voir aussi