editors

View project onGitHub

jquery.storage.js

WebStorageをcookieライクに利用可能なjQueryプラグイン。

プラグインの説明

localStorage、sessionStorageを扱うjQueryプラグインを公開します。
※デフォルトではないsessionStorageは参照のパラメータ指定に不都合があり、まだ使えません。
 設計(API等)を見直す可能性があります。

配列、JSON形式も保存/参照可能です。
cookieのようにexpire設定(日数単位)にも対応しています。

ドメインごとに管理されるWebStorageですが、このプラグイン以外でも利用されていることを想定し、その衝突防止の目的で、内部的に扱うkey名には"jquery.storage."のプレフィクスを付けています。
またWebStorageネイティブのclear()は利用せず、独自にプレフィクスを含むkey名を削除するような極力セーフティな設計&実装にしています。

使い方

事前にjQuery(2.0.3で動作確認)を読み込んでください。

Markup

HTML


<script src="../../external/jquery-2.0.3.min.js"></script>
<script src="../../lib/jquery.storage.js"></script>
						

CODE


var hoge = "hogehoge";
// オプション無しのデフォルトは"local"(localStorage)
$.storage( "hoge", hoge );
alert( $.storage( "hoge" ) );

// expireを指定
$.storage( "hoge", hoge, { expire : 1 } );   


// 配列
var foo = [ "a", "b", "c" ];
$.storage( "foo", foo );
var result = $.storage( "foo" );
for ( var i in result ) {
	alert( result[i] );
}

// JSON
var json = { "A" : 100, "B" : 200, "C" : 300 };
$.storage( "json", json );
var result = $.storage( "json" );
for ( var i in result ) {
	alert( result[i] );
}
						

FORMAT

保存方法
(通常の変数はもちろん、配列やJSONなどのオブジェクトも保存可能です)


$.storage( "KEY", OBJECT[,OPTION] );
						

読み出し方法


$.storage( "KEY" );
						

削除方法


$.removeStorage( "KEY" );
						

初期化方法


$.clearStorage();
						

localStorageに保存するキー名は "jquery.storage." というプレフィクスを付与して内部的に処理していますので、初期化についても、このプレフィクス付きのオブジェクトのみ削除しています。
それは localStorage がドメイン単位(正確には「プロトコル://ドメイン名:ポート番号」の単位)をスコープとするため、WebStorageネイティブの clear() では、別プラグイン等で保存している localStorage も初期化してしまうことによる影響を避ける意図です。
このプラグインで保存可能な情報のみ初期化できるというものです。

OPTION

名前デフォルト値説明
expireundefinednumber有効期限(日数)