La propriété indexNames
, rattachée à l'interface IDBObjectStore
, renvoie la liste des noms des index pour les objets du magasin d'objets courant.
Syntaxe
var myindexNames = objectStore.indexNames;
Valeur
Une liste DOMStringList
.
Exemples
Dans l'exemple suivant, on initialise une transaction de lecture/écriture sur une base de données en ajoutant des données dans un magasin d'objets via la méthode add()
. Une fois l'objet créé, on affiche objectStore.indexNames
en sortie de la console. Pour un exemple complet et fonctionnel, vous pouvez utiliser notre application To-do Notifications (tester la démo).
// On commence par ouvrir la base de données var DBOpenRequest = window.indexedDB.open("toDoList", 4); DBOpenRequest.onsuccess = function(event) { note.innerHTML += '<li>Base de données initialisée.</li>'; // On enregistre le résultat de l'ouverture // dans la variable db afin de l'utiliser // ensuite db = this.result; // On exécute la fonction addData() afin // d'ajouter des données à la base de données addData(); }; function addData() { // On crée un nouvel objet prêt à être inséré // dans la base de données var newItem = [ { taskTitle: "Walk dog", hours: 19, minutes: 30, day: 24, month: "December", year: 2013, notified: "no" } ]; // On ouvre une transaction en lecture/écriture // vers la base de données afin d'ajouter des // données var transaction = db.transaction(["toDoList"], "readwrite"); // On indique le succès de la transaction transaction.oncomplete = function(event) { note.innerHTML += '<li>Transaction terminée : modification finie.</li>'; }; transaction.onerror = function(event) { note.innerHTML += '<li>Transaction non-ouverte à cause d'une erreur. Les doublons ne sont pas autorisés.</li>'; }; // On crée un magasin d'objet pour la transaction // et on affiche indexNames dans la console var objectStore = transaction.objectStore("toDoList"); console.log(objectStore.indexNames); // On ajoute l'objet newItem au magasin d'objets var objectStoreRequest = objectStore.add(newItem[0]); objectStoreRequest.onsuccess = function(event) { // On indique le succès de l'ajout de l'objet // dans la base de données note.innerHTML += '<li>Un nouvel élément a été ajouté dans la base de données.</li>'; }; };
Spécifications
Spécification | État | Commentaires |
---|---|---|
Indexed Database API La définition de 'indexNames' 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) |
---|---|---|---|---|---|---|
Support simple | 23webkit 24 |
(Oui) | 10 moz 16.0 (16.0) |
10 | 15 | 7.1 |
Disponible dans les web workers | (Oui) | ? | 37.0 (37.0) | ? | (Oui) | ? |
Fonctionnalité | Android | Webview Android | Edge | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile | Chrome pour Android |
---|---|---|---|---|---|---|---|---|
Support simple | 4.4 | (Oui) | (Oui) | 22.0 (22.0) | 10 | 22 | 8 | (Oui) |
Disponible dans les web workers | (Oui) | (Oui) | ? | 37.0 (37.0) | ? | (Oui) | ? | (Oui) |
Voir aussi
- Utiliser IndexedDB
- Initier une connexion :
IDBDatabase
- Utiliser les transactions :
IDBTransaction
- Définir un intervalle de clés :
IDBKeyRange
- Récupérer et modifier les données :
IDBObjectStore
- Utiliser les curseurs
IDBCursor
- Exemple de référence : To-do Notifications (exemple live).