IDBDatabase.onversionchange

Le gestionnaire d'événement onversionchange, rattaché à l'interface IDBDatabase, s’exécute au déclenchement de l'événement versionchange qui se produit lorsque la structure de la base de donnée change (l'événement IDBOpenDBRequest.onupgradeneeded ou IDBFactory.deleteDatabase a été demandé par ailleurs (probablement dans une autre fenêtre ou onglet sur le même ordinateur)).

Cela n'est pas la même chose qu'une transaction versionchange (bien que les concepts soient apparentés).

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

Syntaxe

db.onversionchange = function() { ... }

Exemple

Cette exemple illustre un gestionnaire d'événement IDBOpenDBRequest.onupgradeneeded dans lequel on ajoute un magasin d'objets. Les deux gestionnaires d'événements onerror et onabort sont utilisés pour les cas d'échec. Le gestionnaire d'événement onversionchange est utilisé afin d'indiquer que la structure de la base de données a été modifiée.

DBOpenRequest.onupgradeneeded = function(event) {
  var db = event.target.result;
    
  db.onerror = function() {
    note.innerHTML += '<li>Erreur du chargement de la base de données.</li>';
  };

  db.onabort = function() {
    note.innerHTML += '<li>L\'ouverture de la connexion à été annulée !</li>';
  };

  // Ajoute un magasin d'objets à la base de données
    
  var objectStore = db.createObjectStore("toDoList", { keyPath: "taskTitle" });
    
  // Définition des index
    
  objectStore.createIndex("hours", "hours", { unique: false });
  objectStore.createIndex("minutes", "minutes", { unique: false });
  objectStore.createIndex("day", "day", { unique: false });
  objectStore.createIndex("month", "month", { unique: false });
  objectStore.createIndex("year", "year", { unique: false });

  objectStore.createIndex("notified", "notified", { unique: false });
    
  note.innerHTML += '<li>Le magasin d\'objet à été ajouté.</li>';

  db.onversionchange = function(event) {
    note.innerHTML += '<li>Des changements ont été appliqués sur la base de données. Vous devez réactualiser cette page ou la fermer et utiliser l\'autre version de cette application qui est ouverte.</li>';
  };
};

Spécifications

Spécification État Commentaires
Indexed Database API
La définition de 'onversionchange' dans cette spécification.
Recommendation  

Compatibilité des navigateurs

Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Support simple 23webkit
24
10 moz
16.0 (16.0)
10, partial 15 7.1
Disponible via les web 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 via les web workers (Oui) 37.0 (37.0) (Oui) ? (Oui) ?

Voir aussi

Étiquettes et contributeurs liés au document

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