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.
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
Specification |
---|
Indexed Database API 3.0 # factory-interface |
Compatibilité des navigateurs
BCD tables only load in the browser
Voir aussi
- Manipuler IndexedDB
- Démarrer des transactions :
IDBDatabase
- Manipuler des transactions :
IDBTransaction
- Définir un intervalle de clés :
IDBKeyRange
- Récupérer des données et les modifier :
IDBObjectStore
- Manipuler des curseurs :
IDBCursor
- Exemple de référence pour IndexedDB : To-do Notifications