ObjectStoreを作成するところまではできたので、次は、保存されているデータ数を取得する方法について。
var db; var indexedDBName = 'localDB'; var storeName = 'localStore'; var version = 1; var indexedDB; indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB || window.msIndexedDB; //var openRequest = indexedDB.open(indexedDBName,version); openRequest.onupgradeneeded = function(e) { db = e.target.result; db.createObjectStore(storeName,{ keyPath:'id', autoIncrement:true }); }; openRequest.onsuccess = function(e) { db = e.target.result; var transaction = db.transaction([storeName],'readonly'); var store = transaction.objectStore(storeName); var request = store.count(); request.onsuccess = function(e){ var count = e.target.result; console.log(count) }; request.onerror = function(e){ }; transaction.oncomplete = function(){ }; }; openRequest.onerror = function(e) { };という形でデータベースがオープンしてからトランザクションしないとエラーになってしまいます。
この辺、coffeeでもっと簡単に書けないかなー、かつ、かっこよく。
参考
【HTML5】Indexed Database API を真面目に勉強してみる
[HTML5] Indexed DBで検索結果をキャッシュする #2
IndexedDB概要
0 コメント:
コメントを投稿