Taste of Tech Topics

Acroquest Technology株式会社のエンジニアが書く技術ブログ

IE9以前でローカルストレージを実現する(jStorage)

こんにちは、ishidaです。

今日はちょっと方向を変えて、最近の発見を共有します。
皆さん、開発していてこんな経験ありませんか?

  • HTML5でできるローカルストレージみたいなことをやりたい
  • でもブラウザはIE8限定のシステムなんだよねぇ

そんなのIE9にクライアントをアップデートさせましょうよ、、、
と言いたいですが、そしたら自分たちの開発もIE9
やらなきゃならないし、対象ブラウザ増えたから。。。大変だ

そんな悩みを解決してくれるいい子がいました。
jStorage

1.特徴

まとめるとこんな感じになります。

  • IE8以前でもローカルストレージを利用するような動きになる
  • 本体の規模はたったの2KB!(jQueryやPrototypeの上で動きます)
  • ブラウザごとにストレージの容量は異なるが、IE6で128KB、IE8なら10MBまで保存可能

といった便利屋君です。

使い方もシンプル。

// これでset
$.jStorage.set(key, value)
// これでget
value = $.jStorage.get(key, [defaultValue])

実際には、UserDataビヘイビア、というIEが持つキャッシュとはまた違う
クライアントサイドのストレージがあり、そこに明示的に書き込みに行っているようですね。
firefoxの場合はsessionStorage や globalStorageを使ってるのかな?)
だから、ブラウザを閉じて開いてもデータは残っているし、キャッシュクリアでも問題ない。

本家サイトではデモを実際にしているので、
ぜひ皆さんも使ってみてください。


では。