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;
    }
}