--- title: IDBFactory slug: Web/API/IDBFactory translation_of: Web/API/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
.
{{AvailableInWorkers}}
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écification | État | Commentaires |
---|---|---|
{{SpecName("IndexedDB", "#idl-def-IDBFactory", "IDBFactory")}} | {{Spec2("IndexedDB")}} | |
{{SpecName("IndexedDB 2", "#factory-interface", "IDBFactory")}} | {{Spec2("IndexedDB 2")}} | |
{{SpecName("IndexedDB 3", "#factory-interface", "IDBFactory")}} | {{Spec2("IndexedDB 3")}} |
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
{{Compat("api.IDBFactory")}}