diff options
Diffstat (limited to 'files/fr/web/api/idbobjectstore/getallkeys/index.html')
-rw-r--r-- | files/fr/web/api/idbobjectstore/getallkeys/index.html | 176 |
1 files changed, 176 insertions, 0 deletions
diff --git a/files/fr/web/api/idbobjectstore/getallkeys/index.html b/files/fr/web/api/idbobjectstore/getallkeys/index.html new file mode 100644 index 0000000000..56a70e3e68 --- /dev/null +++ b/files/fr/web/api/idbobjectstore/getallkeys/index.html @@ -0,0 +1,176 @@ +--- +title: IDBObjectStore.getAllKeys() +slug: Web/API/IDBObjectStore/getAllKeys +tags: + - API + - IDBObjectStore + - IndexedDB + - Méthode + - Référence(2) +translation_of: Web/API/IDBObjectStore/getAllKeys +--- +<div>{{APIRef("IndexedDB")}}</div> + +<p>La méthode <strong><code>getAllKeys()</code></strong>, rattachée à l'interface {{domxref("IDBObjectStore")}}, renvoie un objet {{domxref("IDBRequest")}} qui permet de récupérer l'ensemble des clés pour les objets qui correspondent au critère passé en argument (ou les clés de tous les objets du magasin si aucun paramètre n'est fourni).</p> + +<p>Si une valeur est trouvée, un clone structurelle sera créé et fourni comme résultat pour la requête.</p> + +<p>Cette méthode produira le même résultat pour :</p> + +<ul> + <li>un enregistrement qui n'existe pas dans la base de données</li> + <li>un enregistrement qui possède une valeur indéfinie</li> +</ul> + +<p>Pour différencier ces deux situations, on peut appeler la méthode {{domxref("IDBObjectStore.openCursor","openCursor()")}} avec la même clé. Cette méthode fournit un curseur si l'enregistrement existe et ne fournit aucun curseur s'il n'y a pas d'enregistrement.</p> + +<h2 id="Syntaxe">Syntaxe</h2> + +<pre class="syntaxbox">var request = <em>objectStore</em>.getAllKeys(); +var request = <em>objectStore</em>.getAllKeys(<em>query</em>); +var request = <em>objectStore</em>.getAllKeys(<em>query</em>, <em>count</em>);</pre> + +<h3 id="Parameters">Parameters</h3> + +<dl> + <dt><code>query</code> {{optional_inline}}</dt> + <dd>Une valeur qui est (ou se résoud) en un intervalle de clés ({{domxref("IDBKeyRange")}}).</dd> + <dt><code>count</code> {{optional_inline}}</dt> + <dd>Une valeur qui définit le nombre de valeurs à renvoyer si plusieurs correspondent. Cette valeur doit être supérieure à <code>0</code> ou inférieure <code>à 2<sup>32</sup>-1</code>, sinon une exception {{jsxref("TypeError")}} sera levée.</dd> +</dl> + +<h3 id="Valeur_de_retour">Valeur de retour</h3> + +<p>Un objet {{domxref("IDBRequest")}} pour lequel seront déclenchés les différents évènements relatifs à l'opération.</p> + +<h3 id="Exceptions">Exceptions</h3> + +<p>Cette méthode peut déclencher une exception {{domxref("DOMException")}} ayant le type suivant :</p> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Exception</th> + <th scope="col">Description</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>TransactionInactiveError</code></td> + <td>Le magasin d'objets ({{domxref("IDBObjectStore")}}) associé à la transaction est inactif.</td> + </tr> + <tr> + <td><code>DataError</code></td> + <td> + <p>La clé ou l'intervalle de clé fourni contient une clé invalide ou est nul.</p> + </td> + </tr> + <tr> + <td><code>InvalidStateError</code></td> + <td>Le magasin d'objets ({{domxref("IDBObjectStore")}}) a été supprimé ou retiré.</td> + </tr> + </tbody> +</table> + +<h2 id="Spécifications">Spécifications</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Spécification</th> + <th scope="col">État</th> + <th scope="col">Commentaires</th> + </tr> + <tr> + <td>{{SpecName('IndexedDB 2', '#dom-idbobjectstore-getallkeys', 'getAll()')}}</td> + <td>{{Spec2('IndexedDB w')}}</td> + <td>Définition initiale.</td> + </tr> + </tbody> +</table> + +<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> + +<div>{{CompatibilityTable}}</div> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Fonctionnalité</th> + <th>Chrome</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari (WebKit)</th> + </tr> + <tr> + <td>Support simple</td> + <td>{{CompatChrome(48.0)}}</td> + <td>{{CompatGeckoDesktop(44)}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatOpera(35)}}</td> + <td>{{CompatUnknown}}</td> + </tr> + <tr> + <td>Disponible dans les <em>web workers</em></td> + <td>{{CompatChrome(48.0)}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatOpera(35)}}</td> + <td>{{CompatUnknown}}</td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Fonctionnalité</th> + <th>Android</th> + <th>Webview Android</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Phone</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + <th>Chrome pour Android</th> + </tr> + <tr> + <td>Support simple</td> + <td>{{CompatNo}}</td> + <td>{{CompatChrome(48.0)}}</td> + <td>{{CompatGeckoMobile(44)}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatOperaMobile(35)}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatChrome(48.0)}}</td> + </tr> + <tr> + <td>Disponible dans les <em>web workers</em></td> + <td>{{CompatNo}}</td> + <td>{{CompatChrome(48.0)}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatOperaMobile(35)}}</td> + <td>{{CompatUnknown}}</td> + <td>{{CompatChrome(48.0)}}</td> + </tr> + </tbody> +</table> +</div> + +<p>[1] Cette fonctionnalité était disponible depuis Firefox 27 via la préférence <code>dom.indexedDB.experimental</code>, qui était désactivée par défaut.</p> + +<h2 id="Voir_aussi">Voir aussi</h2> + +<ul> + <li><a href="/fr/docs/Web/API/API_IndexedDB/Using_IndexedDB">Utiliser IndexedDB</a></li> + <li>Initier une connexion : {{domxref("IDBDatabase")}}</li> + <li>Utiliser les transactions : {{domxref("IDBTransaction")}}</li> + <li>Définir un intervalle de clés : {{domxref("IDBKeyRange")}}</li> + <li>Récupérer et modifier les données : {{domxref("IDBObjectStore")}}</li> + <li>Utiliser les curseurs {{domxref("IDBCursor")}}</li> + <li>Exemple de référence : <a class="external" href="https://github.com/mdn/to-do-notifications/tree/gh-pages">To-do Notifications</a> (<a class="external" href="https://mdn.github.io/to-do-notifications/">exemple <em>live</em></a>).</li> +</ul> |