twitter facebook

クッキーの替わりに webstorage を使う。

クッキーとwebstorageの比較

比較

cookieとwebstorageの比較
比較cookieWeb Storage
個数制限20個まで制限なし
容量4Kバイト2~5Mバイト
有効期限ありなし
自動送信するしない

対応ブラウザ

webstorageの対応ブラウザ
ブラウザ対応バージョン
IE8以降
Firefox3.6以降
Chrome8以降
Safari5以降
Opera11以降
古いAndroid や iPhone6 でも使用できました^^

webstorage のデメリット

webstorageはJavaScriptを使う完全にクライアントサイドのプログラムなので、cookieのようにサーバーでごにょごにょする場合は使いづらくなります。

webstorage は 2種類あります。

sessionStorage
現在のウインド・タブだけで有効。閉じたら消える。
localStorage
永久に残る。
別ウインド・タブでも共有可能。

プログラム

webstorageに対応しているかチェック。

if (typeof localStorage !== 'undefined') {
	alert('Web Storage 対応') ;
} else {
	alert('Web Storage 非対応') ;
}

サンプルソース

var storage = localStorage;
// セットする
storage.setItem('キー', '値');
// 取得する
v = storage.getItem('キー');
// 削除する
storage.removeItem(key);

扱いやすい方法

連想配列を扱う場合も考慮して、一度JSONにしてlocalStorage に記録するのが扱いやすいと思っています。
設定する例
var storage = localStorage;
var user_json = {} ;

// セットする
user_json['name'] = "お名前" ;
user_json['address'] = "住所" ;
// JSON を文字列にして、localStorage に
storage.setItem('user', JSON.stringify(user_json));
取得する例
var storage = localStorage;
var user_json = {} ;

try {
	user_json = $.parseJSON(localStorage.getItem("user")) ;
} catch(e) {
	user_json =  {};
}

// alert してるだけです。
alert(user_json['address']) ;
$.each( user_json, function( key, val )
{
	alert(user_json[key]);
});
AUTHOR
@hiropon
最終更新日 2018/09/20
FAVORITE good stock
LINK TAG
記法を見る