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.

Propriétés

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

Évènements

IDBOpenDBRequest.onblocked
Le gestionnaire d'événements pour événement bloqué . Cet événement est lancé lorsqu' un événement  upgradeneeded doit être déclenché en raison d'un changement de version, mais que la base de données est toujours en cours d'utilisation (c'est-à-dire, non fermée) quelque part, même après l'envoi de l'évènement versionchange .
IDBOpenDBRequest.onupgradeneeded
Le gestionnaire d'évènement pour évènement upgradeneeded (mise-à-jour nécessaire), lancé quand une base de données d'une version supérieure à celle de la base de données existante est chargé.

Méthodes

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

Exemple

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

var db;

// Ouvre la base de données.
var DBOpenRequest = window.indexedDB.open("toDoList", 4);

// Ces gestionnaires d'évènements agissent sur la base de données en cours d'ouverture.
  note.innerHTML += '<li>Error loading database.</li>';
};

DBOpenRequest.onsuccess = function(event) {
  note.innerHTML += '<li>Database initialised.</li>';
 
  // stocke le résultat de l'ouverture de la base de données dans la variable db .
  // Ceci est beaucoup moins utilisé.
  db = DBOpenRequest.result;
 
  // Exécute la fonction displayData() pour remplir la liste de tâches
  // avec toutes les données de la lste de tâches déjà dans la base.
  displayData();
};

// Cet évènement gère l'évènement par lequel une nouvelle version
// de la base de données doit être créée. Soit elle n'a pas 
// été créée avant, soit un nouveau numéro de version a été
// soumis via la ligne "window.indexedDB.open" ci-dessous.
// Il n'est implémenté que dans les navigateurs récents.
DBOpenRequest.onupgradeneeded = function(event) {
  var db = this.result;
 
  db.onerror = function(event) {
    note.innerHTML += '<li>Error loading database.</li>';
  };

  // Crée un objet de stockage pour cette base de données.   
  var objectStore = db.createObjectStore("toDoList", { keyPath: "taskTitle" });

  // définit quels éléments de données l'objet de stockage contiendra.
    
  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 Définition initiale
Indexed Database API 2.0
La définition de 'IDBOpenDBRequest' dans cette spécification.
Recommendation  

Compatibilité des navigateurs

Nous convertissons les données de compatibilité dans un format JSON. Ce tableau de compatibilité utilise encore l'ancien format car nous n'avons pas encore converti les données qu'il contient. Vous pouvez nous aider en contribuant !

Fonctionnalité 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) ?
Indexed Database 2.0 58 ? ? ? 45 ?
Fonctionnalité Android Webview Chrome for Android Edge Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile
Basic support (Oui) (Oui) (Oui) 22.0 (22.0) 1.0.1 10 22 8
Available in workers (Oui) (Oui) ? 37.0 (37.0) (Oui) ? (Oui) ?
Indexed Database 2.0 58 58 ? ? ? ? 45 ?

Voir aussi

Étiquettes et contributeurs liés au document

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