VanillaStorage.js demo
HTML
<script src="https://rawgithub.com/mwager/VanillaStorage/gh-pages/dist/vanilla-storage.js"></script>
<h1>VanillaStorage.js demo</h1>
<hr>
<pre id="log"></pre>
CSS
#log {background:black; color:#fff; margin: 2px auto; width:100%}
JavaScript
function log() {
arguments[0] = '[LOG'/*+new Date().toString()*/+'] ' + arguments[0];
var l = document.getElementById('log');
l.innerHTML += arguments[0] + '<br>';
console.log.apply(console, arguments);
}
var options = {},
vanilla,
KEY = 'some-key',
DEMO_DATA = {foo: 'bar', num:42};
var readyToUseAPI = function(err) {
// NOTE: (this instanceof VanillaStorage === true)
log('vanilla API ready, error? ' + err, err, this);
this.save(KEY, DEMO_DATA, function(err) {
log('Saved some data, error? ' + err, err); // should be undefined
vanilla.get(KEY, function(err, data) {
log('Data from storage: ' + JSON.stringify(data)); // -> DEMO_DATA
/*
vanilla.delete(KEY, function(err) {
// calling get(KEY) now should have the
// error passed with message not found
});*/
});
});
};
// pre-checks possible
log("websql support: " + VanillaStorage.isValid('websql-storage'))
log("indexed db support: " + VanillaStorage.isValid('indexeddb-storage'))
// NOTE: you must provide a `ready`-calback
vanilla = new VanillaStorage(options, readyToUseAPI);