Java ist auch eine Insel

Samstag, Mai 31, 2008

PersistJS: Lokal im Browser Daten speichern

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.

Labels:

AddThis Social Bookmark Button