Created
January 21, 2013 13:51
-
-
Save SirPepe/4586195 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Datenbank anlegen | |
var request = indexedDB.open('html5', 1); | |
// Änderungs/Erzeugungs-Event | |
request.onupgradeneeded = function(){ | |
console.log('Datenbank angelegt'); | |
var db = this.result; | |
if(!db.objectStoreNames.contains('features')){ | |
store = db.createObjectStore('features', { | |
keyPath: 'key', | |
autoIncrement: true | |
}); | |
} | |
}; | |
// Öffnungs-Event (feuert nach upgradeneeded) | |
request.onsuccess = function(){ | |
console.log('Datenbank geöffnet'); | |
var db = this.result; | |
// Zu speichernder Datensatz | |
var item = { title: 'Web Storage' }; | |
// Speicher-Transaktion | |
var trans = db.transaction(['features'], 'readwrite'); | |
var store = trans.objectStore('features') | |
var request = store.put(item); // `item` in dem Store ablegen | |
// Erfolgs-Event | |
request.onsuccess = function(evt){ | |
console.log('Eintrag ' + evt.target.result + ' gespeichert'); | |
// Auslese-Transaktion | |
var trans = db.transaction(['features'], 'readonly'); | |
var store = trans.objectStore('features'); | |
// Cursor für alle Einträge von 0 bis zum Ende | |
var range = IDBKeyRange.lowerBound(0); | |
var cursorRequest = store.openCursor(range); | |
// Wird für jeden gefundenen Datensatz aufgerufen... und einmal extra | |
cursorRequest.onsuccess = function(evt){ | |
var result = evt.target.result; | |
if(result){ | |
console.log('Eintrag gefunden:', result.value); | |
// Eintrag wieder löschen | |
var trans = db.transaction(['features'], 'readwrite'); | |
var store = trans.objectStore('features'); | |
var key = result.value.key; | |
var request = store.delete(key); | |
request.onsuccess = function(evt){ | |
console.log('Eintrag ' + key + ' gelöscht'); | |
} | |
// Cursor zum nächsten Eintrag bewegen | |
result.continue(); | |
} | |
}; | |
}; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment