IDBObjectStore.deleteIndex()
============================

La méthode **`deleteIndex()`** de l'interface `IDBObjectStore` supprime l'index dont le nom est passé en paramètre, du magasin d'objet relié (`IDBObjectStore`).

**Note :** Cette méthode ne peut être appelée que si la transaction (`IDBTransaction`) de l'accès (`IDBObjectStore`) au magasin d'objet est en mode (`IDBTransaction.mode`) **versionchange**. Les propriétés **indexNames (`IDBObjectStore.indexNames`)** des accès au magasin d'object seront aussi mises à jour.

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

Syntaxe
-------


```js
objectStore.deleteIndex(nomIndex);
```

### Paramètre

nomIndex

Le nom de l'index à supprimer.

### Valeur de retour

Void.

### Exceptions

`InvalidStateError`

Cette exception (`DOMException`) est levée si la transaction (`IDBTransaction`) dont dépend cet accès (`IDBObjectStore`) au magasin d'objet n'est pas en mode (`IDBTransaction.mode`) `versionchange`.

`TransactionInactiveError`

 Cette exception (`DOMException`) est levée si la transaction (`IDBTransaction`) de l'accès (`IDBObjectStore`) au magasin d'objet est inactive.
 bug 1176165).


`NotFoundError`

Cette exception (`DOMException`) est levée 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` (en-US) être utilisé pour mettre à jour la structure de la base de données quand un numéro de version supérieure est chargé.

Des méthode **`deleteIndex()`** sont utilisées pour supprimer d'anciens index du magasin d'objet `toDoList`.


```js
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 base 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");
};
```


**Note :** Pour un exemple de travail complet, voir notre To-do Notifications app (view example live).

Spécifications
--------------

| Specification |
| --- |
| Indexed Database API 3.0 # ref-for-dom-idbobjectstore-deleteindex① |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `Utiliser IndexedDB`
* `Débuter une connexion`
* `Utilisé les transactions`
* `Définir l'intervalle des clés`
* `Accès aux magasins d'objets`
* `Utiliser les curseur`
* Exemple de référence: To-do Notifications (view example live.)