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

IDBObjectStore.openKeyCursor()

La méthode openKeyCursor(), rattachée à l'interface IDBObjectStore, renvoie un objet IDBRequest dont le résultat sera un curseur (IDBCursor) qui pourra être utilisé afin de parcourir les enregistrements correspondants. Cette méthode est utilisée afin de parcourir les clés d'un magasin d'objets grâce à un curseur.

Afin de déterminer si le curseur a bien été ajouté, on pourra écouter l'évènement success sur le résultat de la méthode.

Syntaxe

var requete = objectStore.openKeyCursor(optionalKeyRange, optionalDirection);

Paramètres

optionalKeyRange
L'intervalle de clés qu'on souhaite parcourir. Si une seule clé est fournie, l'intervalle constitué ne contiendra que cette clé. Si aucune valeur n'est passée en argument, le curseur produit parcourera tous les enregistrements du magasin d'objets.
optionalDirection
Un objet IDBCursorDirection qui indique la direction dans laquelle le curseur doit parcourir les évènements. La valeur par défaut est "next".

Valeur de retour

Un objet IDBRequest sur lequel seront déclenchés les différents évènements relatifs à cette opération.

Exceptions

Cette méthode peut déclencher une exception DOMException ayant l'un des types suivants :

Exception Description
InvalidStateError Le magasin d'objets (IDBObjectStore ou l'index (IDBIndex) a été supprimé.
TransactionInactiveError La transaction associée au magasin d'objet (IDBObjectStore) est inactive.
DataError La clé ou l'intervalle de clés indiqué est invalide.

Exemples

Dans le fragment de code suivant, on crée une transaction, on l'utilise sur un magasin d'objets donné puis on utilise le curseur pour parcourir tous les enregistrements du magasin d'objets :

var transaction = db.transaction("name", "readonly");
var objectStore = transaction.objectStore("name");
var request = objectStore.openKeyCursor();
request.onsuccess = function(event) {
  var cursor = event.target.result;
  if(cursor) {
    // cursor.key contient la clé de l'enregistrement courant
    // à la différence de openCursor, il n'y a pas de cursor.value
    cursor.continue();
  } else {
    // Il n'y a plus d'autres résultats
  }
};

Spécifications

Spécification État Commentaires
Unknown
La définition de 'openKeyCursor' dans cette spécification.
Recommendation  

Compatibilité des navigateurs

Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Support simple 48.0 44.0 (44.0) [1] 10, partial 15 7.1
Disponible dans les web workers 48.0 ? ? 35 ?
Fonctionnalité Android Webview Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile Chrome pour Android
Support simple 4.4 48.0 44.0 (44.0) [1] 10 22 Pas de support 48.0
Disponible dans les web workers Pas de support 48.0 ? ? 35 ? 48.0

[1] Cette fonctionnalité était disponible depuis Firefox 27 via une préférence : dom.indexedDB.experimental qui était désactivée par défaut.

Voir aussi

Étiquettes et contributeurs liés au document

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