Web Storageを使ってみる
2011 年 10 月 17 日 by fujiiHTML5と共に標準化が進められているAPIの中にWeb Storageがあります。
Web Storageを利用すると、ローカルディスク上にデータの保存が可能となります。
Cookieと異なり有効期限がないので、データを永続的に保存することができます。
Web Storageにはローカルストレージ、セッションストレージの二種類があります。
- ローカルストレージは永続的にデータの保存が可能
- セッションストレージはブラウザを開いている間のみデータの保存が可能
使い方は簡単で、データの読み書きは以下になります。
[保存]
localStorage.setItem(key, value);
[読み込み]
ret = localStorage.getItem(key);
上記のように、メソッドを呼び出してデータの読み書きできますが、配列、プロパティ形式でも利用可能です。
localStorage.setItem("key_dayo", "value_dayo"); localStorage.key_dayo = "value_dayo"; localStorage["key_dayo"] = "value_dayo";
このローカルストレージを利用し、下の画像のような簡単なサンプル(簡易メモ)を作成してみました。
「保存」ボタンを押すことで、テキストエリア内に記述した文字列をローカルストレージに保存します。
「読込」 ボタンを押すとローカルストレージに保存した、文字列をテキストエリア内に表示することができます。
<h1>簡易メモ</h1> <textarea id="txtMemo" cols="50" rows="10"></textarea> <input id="saveMemo" name="saveMemo" type="button" value="保存" /> <input id="readMemo" name="readMemo" type="button" value="読込" /> <script type="text/javascript"><!-- (function() { if (!localStorage) { alert("ローカルストレージが利用できません。"); return; } var objMemo = document.getElementById("txtMemo"); getLocalStorageMemo(); document.getElementById("saveMemo").addEventListener("click", function() { addEventListener if (!localStorage) return; var objMemo = document.getElementById("txtMemo"); localStorage.setItem("KeyMemo", objMemo.value); alert("ローカルストレージに登録しました。"); objMemo.value = ""; }, true); document.getElementById("readMemo").addEventListener("click", function() { getLocalStorageMemo(); }, true); function getLocalStorageMemo() { var strTodo = localStorage.getItem("KeyMemo"); if (strTodo) { objMemo.value = strTodo; } } })(); // --></script>
Web StorageはCookieと同じく手軽にデータを保存できる便利なAPIです。
Web Strageを利用することで、使い勝手のいいWebページを作成できると思います。
ブラウザの対応状況がマチマチなので、その辺りを考慮して作成する必要がありますが、ぜひ利用してみてはいかがでしょうか。
タグ: HTML5, JavaScript