Bonjour,
Je veux utiliser IndexedDB pour stocker des informations en offline comme une base de données.
J'ai consulté plusieurs sites sur le sujet, j'ai testé les tutoriaux en copiant le code fourni. Mais impossible de le faire fonctionner.
Voici un exemple de code récupéré sur le site du W3C, pour déclarer et créer une base "library":
Ensuite un script pour récupérer un livre dans la bdd
Et bien quelque soit le navigateur dernière version (IE10,Firefox 22, Google Chrome), il bloque sur le fait que la variable db est undefined. Bref comme si la base n'avait pas été créée. Mais en regardant dans les paramètres de iE, la base est bien créée dans le cache.(sous le nom de domaine localhost).
Pour information, je lance la page depuis mon serveur wamp en local.
Questions :
est ce qu'il y a un paramétrage du navigateur particulier pour utiliser IndexedDB ?
Avez vous un exemple de site utilisant IndexedDB qui fonctionne ?
car j'ai essayé les exemples en ligne :
https://mdn.mozillademos.org/en-US/docs/IndexedDB/Using_IndexedDB$samples/Full_IndexedDB_example?revision=429275
Et j'obtiens le même type d'erreur dans la console firebug avec : db undefined
http://www.html5rocks.com/en/tutorials/indexeddb/todo/
et pareil quand je clique sur add j'obtiens dans la console TypeError: db is null
Mais, dans toute mes recherches,j'ai quand même trouvé 1 script qui fonctionne bien mais que sur IE10.... mais bon c'est un script récupéré sur un site microsoft.(donc normal). Par contre cela ne fonctionne pas sur firefox 22 et google chrome. Et je ne sais pas pourquoi.
http://msdn.microsoft.com/fr-fr/library/ie/hh779017%28v=vs.85%29.aspx
Toute aide sera la bienvenue.
merci
Je veux utiliser IndexedDB pour stocker des informations en offline comme une base de données.
J'ai consulté plusieurs sites sur le sujet, j'ai testé les tutoriaux en copiant le code fourni. Mais impossible de le faire fonctionner.
Voici un exemple de code récupéré sur le site du W3C, pour déclarer et créer une base "library":
var request = indexedDB.open("library");
request.onupgradeneeded = function() {
// The database did not previously exist, so create object stores and indexes.
var db = request.result;
var store = db.createObjectStore("books", {keyPath: "isbn"});
var titleIndex = store.createIndex("by_title", "title", {unique: true});
var authorIndex = store.createIndex("by_author", "author");
// Populate with initial data.
store.put({title: "Quarry Memories", author: "Fred", isbn: 123456});
store.put({title: "Water Buffaloes", author: "Fred", isbn: 234567});
store.put({title: "Bedrock Nights", author: "Barney", isbn: 345678});
};
request.onsuccess = function() {
db = request.result;
};
Ensuite un script pour récupérer un livre dans la bdd
var tx = db.transaction("books", "readonly");
var store = tx.objectStore("books");
var index = store.index("by_title");
var request = index.get("Bedrock Nights");
request.onsuccess = function() {
var matching = request.result;
if (matching !== undefined) {
// A match was found.
report(matching.isbn, matching.title, matching.author);
} else {
// No match was found.
report(null);
}
};
Et bien quelque soit le navigateur dernière version (IE10,Firefox 22, Google Chrome), il bloque sur le fait que la variable db est undefined. Bref comme si la base n'avait pas été créée. Mais en regardant dans les paramètres de iE, la base est bien créée dans le cache.(sous le nom de domaine localhost).
Pour information, je lance la page depuis mon serveur wamp en local.
Questions :
est ce qu'il y a un paramétrage du navigateur particulier pour utiliser IndexedDB ?
Avez vous un exemple de site utilisant IndexedDB qui fonctionne ?
car j'ai essayé les exemples en ligne :
https://mdn.mozillademos.org/en-US/docs/IndexedDB/Using_IndexedDB$samples/Full_IndexedDB_example?revision=429275
Et j'obtiens le même type d'erreur dans la console firebug avec : db undefined
http://www.html5rocks.com/en/tutorials/indexeddb/todo/
et pareil quand je clique sur add j'obtiens dans la console TypeError: db is null
Mais, dans toute mes recherches,j'ai quand même trouvé 1 script qui fonctionne bien mais que sur IE10.... mais bon c'est un script récupéré sur un site microsoft.(donc normal). Par contre cela ne fonctionne pas sur firefox 22 et google chrome. Et je ne sais pas pourquoi.
http://msdn.microsoft.com/fr-fr/library/ie/hh779017%28v=vs.85%29.aspx
Toute aide sera la bienvenue.
merci