Cet article nécessite une relecture technique. Voici comment vous pouvez aider.
Cet article nécessite une relecture rédactionnelle. Voici comment vous pouvez aider.
La méthode openCursor()
de l'interface IDBObjectStore
fait une requête
récursive suivant un curseur avec valeur
qui itère le magasin d'objet relié
.
Note : Cette fonctionnalité est disponible via les Web Workers.
Syntaxe
var request = ObjectStore.openCursor(keyRange, direction);
Paramètres
- keyRange Facultatif
- L'
intervalle de clé
sur lequel se déplace le curseur. On peut passer un clé seule qui sera alors considéré comme uneintervalle seule
. Par défaut le curseur se déplace sur l'ensemble des clés du magasin d'objet. - direction Facultatif
- La
direction
ducurseur
qui défini le sens d'itération. par défaut "next".
Renvoie
Exceptions
TransactionInactiveError
- Cette
exception
est levé si latransaction
est inactive. DataError
- Cette
exception
est levé si la clé ou l'intervalle de clé
est invalide. InvalidStateError
- Cette
exception
est levé si le magasin d'objet à été supprimé. TypeError
- Cette
exception
est levé si la valeur de la direction n'est pas valide.
Exemple
Dans ce morceau de code on fait une transaction pour obtenir l'accès au magasin d'objet sur lequel on itère en utilisant un curseur.
La méthode openCursor()
initialise la requête récursive qui contiendra le curseur.
//un transaction sur la base de données var transaction = db.transaction("name", "readonly"); //un accès au magsin d'objet "name" var objectStore = transaction.objectStore("name"); //Une requête récursive var request = objectStore.openCursor(); request.onsuccess = function() { var cursor = request.result; if(cursor) { // cursor.value contient la valeur et cursor.key la clé de l'enregistrement à la position du curseur //on relance la requête pour la position suivante du curseur cursor.continue(); } else { //pas ou plus de curseur , fin d'itération. } };
Spécification
Spécification | Statut | Commentaire |
---|---|---|
Indexed Database API La définition de 'openCursor' dans cette spécification. |
Recommendation |
Compatibilité avec les navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Support basique | 23webkit 24 |
10 moz 16.0 (16.0) |
10, partial | 15 | 7.1 |
Disponible dans workers | (Oui) | 37.0 (37.0) | ? | (Oui) | ? |
Fonctionnalité | Android | Firefox Mobile (Gecko) | Firefox OS | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Support basic | 4.4 | 22.0 (22.0) | 1.0.1 | 10 | 22 | 8 |
Disponible dans workers | (Oui) | 37.0 (37.0) | (Oui) | ? | (Oui) | ? |