MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

IDBOpenDBRequest

Cette traduction est incomplète. Aidez à traduire cet article depuis l'anglais.

L'interface IDBOpenDBRequest de l'API IndexedDB donne un accès aux résultats des requêtes permettant d'ouvrir ou  de supprimer des bases de donnée (Effectuée via IDBFactory.open et IDBFactory.deleteDatabase).

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

Méthodes

Pas de méthodes, mais hérite des méthodes de ses parents IDBRequest et EventTarget.

Propriétés

Hérite également des méthodes de ses parents IDBRequest et EventTarget.

IDBOpenDBRequest.onblocked
The event handler for the blocked event. Cette événement est déclenché lorsque l'événement  upgradeneeded doit être déclenché en raison d'un changement de version mais la base de donnée est toujours en cours d'utilisation (i.e. non fermée) quelque part, even after the versionchange event was sent.
IDBOpenDBRequest.onupgradeneeded
The event handler for the upgradeneeded event, fired when a database of a bigger version number than the existing stored database is loaded.

Exemple

Dans l'exemple ci-dessous,  le handler onupgradeneeded est utilisé pour mettre à jour la structure de la base de donnée si une base plus récente est chargée. Pour voir un exemple complet, référez-vous à notre application To-do Notifications (voir cette exemple en live)

var db;

// Let us open our database
var DBOpenRequest = window.indexedDB.open("toDoList", 4);

// these two event handlers act on the database being opened successfully, or not
DBOpenRequest.onerror = function(event) {
  note.innerHTML += '<li>Error loading database.</li>';
};

DBOpenRequest.onsuccess = function(event) {
  note.innerHTML += '<li>Database initialised.</li>';
 
  // store the result of opening the database in the db variable. This is used a lot below
  db = DBOpenRequest.result;
 
  // Run the displayData() function to populate the task list with all the to-do list data already in the IDB
  displayData();
};

// This event handles the event whereby a new version of the database needs to be created
// Either one has not been created before, or a new version number has been submitted via the
// window.indexedDB.open line above
//it is only implemented in recent browsers
DBOpenRequest.onupgradeneeded = function(event) {
  var db = this.result;
 
  db.onerror = function(event) {
    note.innerHTML += '<li>Error loading database.</li>';
  };

  // Create an objectStore for this database   
  var objectStore = db.createObjectStore("toDoList", { keyPath: "taskTitle" });

  // define what data items the objectStore will contain
    
  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 });
};

Spécifications

Spécification Statut Commentaire
Indexed Database API
La définition de 'IDBOpenDBRequest' dans cette spécification.
Recommendation Initial definition

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 23webkit
24 (unprefixed)
(Oui) 10 moz
16.0 (16.0)
10, partial 15 7.1
Available in workers (Oui) ? 37.0 (37.0) ? (Oui) ?
Feature Android Android Webview Edge Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile Chrome for Android
Basic support 4.4 (Oui) (Oui) 22.0 (22.0) 1.0.1 10 22 8 (Oui)
Available in workers (Oui) (Oui) ? 37.0 (37.0) (Oui) ? (Oui) ? (Oui)

See also

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : Enigma-42
 Dernière mise à jour par : Enigma-42,