diff options
Diffstat (limited to 'files/fr/mozilla/add-ons/sdk/high-level_apis/indexed-db/index.html')
| -rw-r--r-- | files/fr/mozilla/add-ons/sdk/high-level_apis/indexed-db/index.html | 166 |
1 files changed, 0 insertions, 166 deletions
diff --git a/files/fr/mozilla/add-ons/sdk/high-level_apis/indexed-db/index.html b/files/fr/mozilla/add-ons/sdk/high-level_apis/indexed-db/index.html deleted file mode 100644 index 4a73e29e98..0000000000 --- a/files/fr/mozilla/add-ons/sdk/high-level_apis/indexed-db/index.html +++ /dev/null @@ -1,166 +0,0 @@ ---- -title: indexed-db -slug: Mozilla/Add-ons/SDK/High-Level_APIs/indexed-db -translation_of: Archive/Add-ons/Add-on_SDK/High-Level_APIs/indexed-db ---- -<p>{{AddonSidebar}}</p> - -<div class="note"> -<p>Expérimental</p> -</div> - -<p><span class="seoSummary">Expose l'<a href="https://developer.mozilla.org/fr/docs/IndexedDB" title="https://developer.mozilla.org/fr/docs/IndexedDB">API IndexedDB</a> pour les add-ons.</span></p> - -<h2 id="Utilisation">Utilisation</h2> - -<p>Les scripts en cours d'exécution dans les pages Web peuvent accéder à IndexedDB via <code>window</code>. Par exemple:</p> - -<pre class="brush: js">window.indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB || window.msIndexedDB; - -var request = window.indexedDB.open("MyDatabase"); -request.onerror = function(event) { - console.log("failure"); -}; -request.onsuccess = function(event) { - console.log("success"); -};</pre> - -<p>Parce que votre code add-on principale ne peut pas accéder au DOM, vous ne pouvez pas faire cela. Mais vous pouvez utiliser le module <code>indexed-db</code> pour y accéder:</p> - -<pre class="brush: js">var { indexedDB } = require('sdk/indexed-db'); - -var request = indexedDB.open('MyDatabase'); -request.onerror = function(event) { - console.log("failure"); -}; -request.onsuccess = function(event) { - console.log("success"); -};</pre> - -<p>La plupart des objets qui mettent en œuvre l'API IndexedDB, tels que <a href="https://developer.mozilla.org/fr/docs/IndexedDB/IDBTransaction" title="https://developer.mozilla.org/fr/docs/IndexedDB/IDBTransaction"> IDBTransaction </a>, <a href="https://developer.mozilla.org/fr/docs/IndexedDB/IDBOpenDBRequest" title="https://developer.mozilla.org/fr/docs/IndexedDB/IDBOpenDBRequest"> IDBOpenDBRequest </a>, et <a href="https://developer.mozilla.org/fr/docs/IndexedDB/IDBObjectStore" title="https://developer.mozilla.org/fr/docs/IndexedDB/IDBObjectStore"> IDBObjectStore </a>, sont accessibles à travers l'objet IndexedDB lui-même. < br></p> - -<p>L'API exposée par <code>indexed-db</code> est presque identique à l'API DOM IndexedDB, donc on n'a pas répété sa documentation ici, référer vous à la <a href="https://developer.mozilla.org/fr/docs/IndexedDB" title="https://developer.mozilla.org/fr/docs/IndexedDB">documentation de l'API IndexedDB</a> pour tous les détails.</p> - -<p>La base de données créé sera unique et privée pour l'add-on, et n'est pas liés à une base de données de site. Le module ne peut pas être utilisé pour interagir avec une base de données du site donné. Voir <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=779197" title="https://bugzilla.mozilla.org/show_bug.cgi?id=779197"> bug 778197 </a> et <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=786688" title="https://bugzilla.mozilla.org/show_bug.cgi?id=786688"> bug 786688 </a>.</p> - -<h3 id="Exemple">Exemple</h3> - -<div class="note"> -<p>Cet exemple utilise l'<a href="https://developer.mozilla.org/fr/Add-ons/SDK/Low-Level_APIs/ui_button_action" title="https://developer.mozilla.org/fr/Add-ons/SDK/Low-Level_APIs/ui_button_action">API bouton d'action </a>, qui est uniquement disponible à partir de Firefox 29 partir.</p> -</div> - -<p>Voici un add-on complet qui ajoute deux boutons pour le navigateur: le bouton "Ajouter" ajoute le titre de l'onglet en cours à une base de données, tandis que le bouton intitulé «Liste» répertorie tous les titres dans la base de données .</p> - -<p>L'add-on implémente les fonctions <code>open()</code>, <code>addItem()</code> et <code>getItems()</code> pour ouvrir la base de données, ajouter un nouvel élément à la base de données, et d'obtenir tous les éléments de la base de données.</p> - -<pre class="brush: js">var { indexedDB, IDBKeyRange } = require('sdk/indexed-db'); - -var database = {}; - -database.onerror = function(e) { - console.error(e.value) -} - -function open(version) { - var request = indexedDB.open("stuff", version); - - request.onupgradeneeded = function(e) { - var db = e.target.result; - e.target.transaction.onerror = database.onerror; - - if(db.objectStoreNames.contains("items")) { - db.deleteObjectStore("items"); - } - - var store = db.createObjectStore("items", - {keyPath: "time"}); - }; - - request.onsuccess = function(e) { - database.db = e.target.result; - }; - - request.onerror = database.onerror; -}; - -function addItem(name) { - var db = database.db; - var trans = db.transaction(["items"], "readwrite"); - var store = trans.objectStore("items"); - var time = new Date().getTime(); - var request = store.put({ - "name": name, - "time": time - }); - - request.onerror = database.onerror; -}; - -function getItems(callback) { - var cb = callback; - var db = database.db; - var trans = db.transaction(["items"], "readwrite"); - var store = trans.objectStore("items"); - var items = new Array(); - - trans.oncomplete = function() { - cb(items); - } - - var keyRange = IDBKeyRange.lowerBound(0); - var cursorRequest = store.openCursor(keyRange); - - cursorRequest.onsuccess = function(e) { - var result = e.target.result; - if(!!result == false) - return; - - items.push(result.value.name); - result.continue(); - }; - - cursorRequest.onerror = database.onerror; -}; - -function listItems(itemList) { - console.log(itemList); -} - -open("1"); - -var add = require("sdk/ui/button/action").ActionButton({ - id: "add", - label: "Add", - icon: "./add.png", - onClick: function() { - addItem(require("sdk/tabs").activeTab.title); - } -}); - -var list = require("sdk/ui/button/action").ActionButton({ - id: "list", - label: "List", - icon: "./list.png", - onClick: function() { - getItems(listItems); - } -}); -</pre> - -<p>Notez que pour exécuter cet add-on, vous aurez besoin de fournir des icônes nommées "add.png" et "list.png" dans le répertoire "data" de l'add-ons .</p> - -<h2 id="Globals">Globals</h2> - -<h3 id="Propriétés">Propriétés</h3> - -<h4 class="addon-sdk-api-name" id="indexedDB"><code>indexedDB</code></h4> - -<p>Permet de créer, ouvrir et supprimer des bases de données. Voir la <a href="https://developer.mozilla.org/fr/docs/IndexedDB/IDBFactory" title="https://developer.mozilla.org/fr/docs/IndexedDB/IDBFactory"> documentation IDBFactory</a>.</p> - -<h4 class="addon-sdk-api-name" id="IDBKeyRange"><code>IDBKeyRange</code></h4> - -<p>Définit une plage de clés. Voir la <a href="https://developer.mozilla.org/fr/docs/IndexedDB/IDBKeyRange" title="https://developer.mozilla.org/fr/docs/IndexedDB/IDBKeyRange"> documentation IDBKeyRange</a>.</p> - -<h4 class="addon-sdk-api-name" id="DOMException"><code>DOMException</code></h4> - -<p>Fournit des informations plus détaillées sur une exception. Voir la <a href="https://developer.mozilla.org/fr/docs/DOM/DOMException" title="https://developer.mozilla.org/fr/docs/DOM/DOMException"> documentation DOMException</a>.</p> |
