JavaScript:HTML5の標準機能!WebStorageの仕様と使い方

Webアプリケーション開発においてWebStorageを使用する機会があったので、使い方をメモしておきます。
とても便利な機能なので、アプリの設定等の保存に活躍するかと思います。

WebStorageについて

種類

以下の2つのストレージがありますが、データの永続性の違いだけで、どちらも使い方は同じです。今回は localStorage について説明したいと思います。

  • sessionStorage
  • localStorage

対応するブラウザのバージョン

IE7対応を強いられる方たちには申し訳ないですが、以下の表を見る限り、実用可能と考えて問題なのではないでしょうか。

IE Firefox Safari Chrome Opera Android iPhone
8.0〜 3.5〜 4.0〜 4.0〜 10.5〜 2.0〜 2.0〜

ストレージの容量

  • 最大5MB

設定データの保存としては必要十分な容量だと思います。

WebStorageの使い方

使い方はとても簡単です。key,value を使用してストレージに保存していきます。
valueへはどんな型でも保存は可能ですが、最終的に保存されるデータは文字列となるので、getした値を文字列として使用しない場合はキャストが必要になります。

基本操作

データをセット(保存)する
window.localStorage.setItem(key,value);
キーからデータをゲット(取得)する
window.localStorage.getItem(key);
キーごとにデータを削除する
window.localStorage.removeItem(key);
すべてのキーと値を削除する
window.localStorage.clear();

ログ出力とセットにしたlocalStorageの関数も作成しました。

// Local Storage Functions

function setLocalStorage(key,value) {
    console.log('set localStorage '+'key->'+key+', value->'+value);
    window.localStorage.setItem(key,value);
}

function getLocalStorage(key) {
    console.log('get localStorage '+'key->'+key+', value->'+window.localStorage.getItem(key));
    window.localStorage.getItem(key);
}

function deleteAllStorage() {
    console.log('delete all localStorage');
    window.localStorage.clear();
}

function deleteStorage(key) {
    console.log('delete localStorage key->'+key);
    window.localStorage.removeItem(key);
}

その他の使い方

キーのインデックス値でアクセスする
var str = localStorage.key(0);
キーを列挙する
for (i in localStorage){
    console.log(localStorage.key(i));
}
キーの長さを取得する
var len = localStoage.length;

localStorageのデータが保存されている場所(*)

Safari
/Users/User名/Library/Safari/LocalStorage/
Chrome
/Users/User名/Library/Application Support/Google/Chrome/Default/Local Storage/

※マシン環境は Mac OS X です

まとめ

WebStorage は HTML5で実装された標準機能ですが、実用レベルに耐えられる便利な機能だと思います。
W3C による HTML5 の勧告はもうすぐですが、HTML5 というワード自体は珍しいものでなくなりました。デファクトスタンダードだと判断できるのは、そのもの自体が騒がれなくなったときだということなのでしょう。

この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。

siro:chro 無料ゲーム SQN をリリースしました

img_sqn_00

sirochro 初の無料ゲームアプリ SQN をリリースしました。
記事:SQN: iOS 無料ゲームアプリ SQN - Sequential Numbers をリリース
ちょっとした時間に楽しめる完全無料のゲームなっていますので、是非ダウンロードして遊んでみてください。

↓SQN のダウンロードはこちらから

Related Contents

Pickup Contents