Zustände von Web-Applikationen können, sofern sie klein sind, im Cookie gespeichert werden. Alles, was jedoch größer als 4 KB ist, wird in der Regel auf der Serverseite abgelegt. Nun haben in den letzten Jahren die Browser-Hersteller lokale Speichermöglichkeiten entwickelt:
- globalStorage: Firefox 2.0+, Internet Explorer 8
- localStorage: development WebKit
- openDatabase: Safari 3.1+
- userdata behavior: Internet Explorer 5.5+
Daneben gibt es Plugins, etwa von Google (Gears) oder Yahoo. Das dumme bei den Plugins ist jedoch, das diese extra installiert werden müssen. Ihr Vorteil allerdings: Eine standardisierte API. Doch damit kann nun Schluss sein. Mit PersistJS gibt es eine standardisierte API, die von den jeweiligen Browser- und Plugin-APIs abstrahiert. Der Zugriff ist simpel
var store = new Persist.Store('Mein Data Store');
var data = "Daten";
store.set('saved_data', data);
store.get('saved_data', function(ok, val) {
if (ok)
alert('saved data = ' + val);
});
store.remove('saved_data');
PersistJS nutzt nun intern:
- flash: Flash 8 persistent storage.
- gears: Google Gears-based persistent storage.
- localstorage: HTML5 draft storage.
- whatwg_db: HTML5 draft database storage.
- globalstorage: HTML5 draft storage (old spec).
- ie: Internet Explorer userdata behaviors.
- cookie: Cookie-based persistent storage.