IndexedDb
open, set, get/update
HTML
<button onclick="save()">save</button>
<button onclick="read()">read</button>
<p id="output"></p>
JavaScript
var idbSupported = false;
var db;
var print = document.querySelector("#output");
if("indexedDB" in window) {
idbSupported = true;
}
if(idbSupported) {
var openRequest = indexedDB.open("ohoh",1);
openRequest.onupgradeneeded = function(e) {
print.innerHTML = "Upgrading...";
db = e.target.result;
if(!db.objectStoreNames.contains("ac12")) {
db.createObjectStore("ac12", { keyPath: "id",autoIncrement:true});
}
}
openRequest.onsuccess = function(e) {
print.innerHTML = "Success!";
db = e.target.result;
//save(db);
var transaction = db.transaction(["ac12"]);
var objectStore = transaction.objectStore("ac12");
var request = objectStore.get("2");
request.onerror = function(event) {
// Handle errors!
};
request.onsuccess = function(event) {
// Do something with the request.result!
print.innerHTML = request;
};
}
openRequest.onerror = function(e) {
print.innerHTML = "Error";
console.dir(e);
}
}
function save() {
var transaction = db.transaction(["ac12"], "readwrite");
var objectStore = transaction.objectStore("ac12");
var request = objectStore.put({'theme':5});
request.onsuccess = function(event) {
//console.log(event.target)
};
}
function read() {
var transaction = db.transaction(["ac12"], "readonly");
var objectStore = transaction.objectStore("ac12");
/*
//x is some value
var ob = objectStore.get(2);
ob.onsuccess = function(e) {
console.log(e.target.result);
}*/
objectStore.openCursor(null, "prev").onsuccess = function(event) {
var cursor = event.target.result;
print.innerHTML = "theme id is: " + cursor.value.theme;
}
}