Thursday, July 3, 2008

UserData, globalStorage

SQlite(GoogleGears含む)やFlash Cookieを使わないで
データをローカルに保存する方法はまだIEのUserData、FireFoxのglobalStorageでしか
実現できていない。。

先人のサイト様に良い例があったので、参考にprototypeクラス化してみる。

1.6バージョンで、行い、できればElement.addMethodsを使って

Element.addMethods({
saveUserData: function(element, save_key){
element = $(element);
element.save(save_key);
return element;
},
loadUserData : function(element, load_key){
element = $(element);
element.load(load_key);
return element;
}
});


と追加して、カッコよく? createElement --> new Elementに変更したかったのですが
残念ながら、上記のコードは認められませんでした (-_-;)ナゼ?
というわけで、適当にglobalとsession両方作成してみました。

っていうか、IEのほうはElement.save, Element.load, Element.expires以外に
UserData周りのプロパティって何があるのでしょうかねぇ
docどこにも見当たらないのです。。。

したがってStorage.Local(session)もむりやりexpiresを1970/01/01にしただけという
単純さ、、、これでいいのかなぁ。。。

setItem(save), getItem(load), removeItem(remove), clear

でセーブ/ロードできます

こちらで確認可能

ちなみに、、、この間のRangeクラスはこちらで確認可能
これを実行すると、フレームも、Inputも超えて選択、編集できることが確認できると思います。

どうかな?

No comments: