HTML5でローカルストレージ
ドメインとヒモ付けしてDBを共有してる、らしい。
モダンなブラウザなら大体動く ※
なんとなくprototype.js前提だけど、適当に読み替えてください。
localStorage
localStorageに直接書いてもいいけど、どうせなので JSONをシリアライズして保存する。
Data = Class.create({ //JSONで保存する initialize:function(name){ this.name = name; if(localStorage[name]) this.data = this.load(name) else this.data = {}; }, save:function(){ //保存 var d = JSON.stringify( this.data ); localStorage.setItem(this.name, d ); }, load: function(key){ //復元 var tmp = localStorage.getItem(key); return JSON.parse(tmp); } }); db = new Data("hoge"); db.data["greeding"] = "hello world!"; db.save();
WebSQL
とりあえず動かした程度。
DataSQL= Class.create({ //JSON initialize:function(){ var buff = 1048576; this.db = window.openDatabese("mydb","","expression", buff); }, execute:function(sql){ this.db.transaction( function(tx){ tx.executeSql( sql ) } ) } }); data = new DataSQL(); data.db.execute( "create table mydb(val1 int)" );
自分SQLあんまり得意ではないのだけど、中身はsqlite3らしいので、理解がある人ならsqlをポンポン発行できるだろう。
とりあえず書いてみたけど、Chromiumでしか動作確認してない。