IDBObjectStore.deleteIndex()

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.

Note : This feature is available in Web Workers.

Syntaxe

objectStore.deleteIndex(nomIndex);

Paramètre

nomIndex
Le nom de l'index à supprimer.

Renvoie

Void.

Exceptions

InvalidStateError
Cette exception est levé si la transaction dont dépend cette accès au magasin d'objet n'est pas en mode versionchange.
TransactionInactiveError
Cette exception est levé si la transaction 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 onupgradeneeded être utilisé pour mètre à jour la structure de la base de données quand un numéro de version supérieur est chargé.

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) ?

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : gadgino
 Dernière mise à jour par : gadgino,