flandlescarlet's diary【情報工学生の備忘録】

元機械工学科所属だった情報工学生です。JavaScriptで適当に何かを作ったり、絵を描いていたりします。

クッキーよりも扱いやすいローカルストレージ

ローカルディスクにデータを保存する(HTML5)

完全に全てのブラウザに対応したわけではないのですが。

DOM APIの一部にローカルストレージというHTML5に追加された機能というものがありまして

これを使えばいちいちクッキーに頼らずとも簡単にデータを保存することができます

クッキーとの相違点が幾つかありますが、基本的にはローカルストレージは扱うのが簡単な分、永続的にデータを保存する(保存期間を決定できない、ただし任意での削除が出来る)といった所です。

 

Sample1

 if(!window.localStorage){
alert("ローカルストレージは使えません");
return;
}

//フォームにあるデータを保存する場合
window.localStorage.setItem("保存するデータの変数名","ここに保存したい内容");

// windowは省略できるため

localStorage.setItem("saveContent","山田太郎");

// saveContentというローカルの変数に山田太郎が保存される
// 連想配列式、またオブジェクト傾向でかくことも出来ます

localStorage.saveContent = "山田太郎"; //オブジェクト式
localStorage["saveContent"] = "山田太郎" //連想配列

//コンテンツを取り出すとき

window.localStorage.getItem("setItemで保存した時の変数名");

var Data = window.localStorage.getItem("saveContent");
alert(Data) //山田太郎と表示される

//getItemも同様に連想配列とオブジェクト式で書けます

Data = localStorage.saveContent; //オブジェクト式
Data = localStorage["saveContent"]; //連想配列

//保存した内容の削除

window.removeItem("設定した変数名");

window.localStorage.removeItem("saveContent");

ローカルストレージの場合HTML5ですからクロスブラウザの問題がどうしても生じてしまいます。将来主要ブラウザで対応するようになったら。フル活用できるAPIだと思います。

 

またクッキー保存の場合はJavaScript単体でおこなうのではなく

クッキー用のjQueryがあるのでそれを使うのも良いと思います。