Cet article nécessite une relecture technique. Voici comment vous pouvez aider.
Cet article nécessite une relecture rédactionnelle. Voici comment vous pouvez aider.
La méthode deleteIndex()
de l'interface IDBObjectStore
supprime l'index dont le nom est passé en paramètre, du magasin d'objet relié
.
Note: Cette méthode ne peut être appelé que si la transaction
de l'accès
au magasin d'objet est en mode
versionchange. Les propriété indexNames
des accès au magasin d'object seront aussi mises à jour.
Syntaxe
objectStore.deleteIndex(nomIndex);
Paramètre
- nomIndex
- Le nom de l'index à supprimer.
Renvoie
Void.
Exceptions
InvalidStateError
- Cette
exception
est levé si latransaction
dont dépend cetteaccès
au magasin d'objet n'est pas enmode
versionchange
. TransactionInactiveError
- Cette
exception
est levé si latransaction
de l'accès
au magasin d’objet est inactive.Dans les versions de Firefox antérieur à 41, une
InvalidStateError
est levé dans ce cas aussi, ce qui est trompeur. Cela a été corrigé (voir bug 1176165). NotFoundError
- Cette
exception
est levé si l'index avec le nom (case sensible) demandé n'existe pas sur le magasin d'objet.
Exemple
Dans l'exemple suivant on peut voir le gestionnaire d'événement
être utilisé pour mètre à jour la structure de la base de données quand un numéro de version supérieur est chargé.onupgradeneeded
Des méthode deleteIndex()
sont utilisées pour supprimer d'anciens index du magasin d'objet toDoList
.
var db; // Requête d'ouverture de la base de données "toDoList" var DBOpenRequest = window.indexedDB.open("toDoList", 4); // Gère l'échec de l'ouverture de la base DBOpenRequest.onerror = function(event) { note.innerHTML += '<li>La base de donnée n\'as pas peut être ouverte.</li>'; }; // Gère le succès de l'ouverture de la base DBOpenRequest.onsuccess = function(event) { note.innerHTML += '<li>La base de données est ouverte.</li>'; // db = request.result; // Exécute une fonction d'affichage displayData() displayData(); }; // Ce gestionnaire d'événement nécessite un nouveau numéro de version de la basse de données. // Si la base n'existe pas un nouveau numéro de version est généré par la méthode d'ouverture de connexion window.indexDB.open . DBOpenRequest.onupgradeneeded = function(event) { db.onerror = function(event) { note.innerHTML += '<li>Erreur de chargement de la base de données.</li>'; }; // L'Accès au magasin d'objet "toDoList" de la base de données var objectStore = db.createObjectStore("toDoList", { keyPath: "taskTitle" }); // Met en place les index du magasin d'objet objectStore.createIndex("heures", "hours", { unique: false }); objectStore.createIndex("minutes", "minutes", { unique: false }); objectStore.createIndex("jour", "day", { unique: false }); objectStore.createIndex("mois", "month", { unique: false }); objectStore.createIndex("annee", "year", { unique: false }); objectStore.createIndex("notifiee", "notified", { unique: false }); //supprime des index du magasin d'objet objectStore.deleteIndex("secondes"); objectStore.deleteIndex("contact"); };
Pour un exemple de travail complet, voir notre To-do Notifications app (view example live).
Spécification
Spécification | Statut | Commentaire |
---|---|---|
Indexed Database API La définition de 'deleteIndex()' dans cette spécification. |
Recommendation |
Compatibilité avec les navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Support basique | 23webkit 24 |
10 moz 16.0 (16.0) |
10, en partie | 15 | 7.1 |
Disponible dans workers | (Oui) | 37.0 (37.0) | ? | (Oui) | ? |
Fonctionnalité | Android | Firefox Mobile (Gecko) | Firefox OS | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Support basique | 4.4 | 22.0 (22.0) | 1.0.1 | 10 | 22 | 8 |
Disponible dans workers | (Oui) | 37.0 (37.0) | (Oui) | ? | (Oui) | ? |