ブラウザ使ったデータ保存の方法って、昔ながらのクッキーしか知らなかった。
今は、Web Storageという仕組みが使えるらしいので検証してみる。
1オリジン当たり5MBまで保存できるって・・・すげーな。
詳しい仕様の方は、こちらのサイトで勉強させて貰ってます。
ここでは自分の理解の為に試しに書いて検証していきます。
1.Web Storageには2種類あるらしい。
- sessionStorage - 「ウィンドウを閉じるまで有効」
- localStorage - 「永続的に有効」
それぞれの動きを確認していきましょう。
sessionStorage
検証内容
- テキスト入力して「セーブ」
- テキスト内容をさらに更新して「ロード」
- ⇒「セーブ」した時の内容が復元。
- F5でページリフレッシュして、「ロード」
- ⇒「セーブ」した時の内容が復元。
- 画面を閉じて、もっかい開いて「ロード」
- ⇒何もでない。
コード
var sessionStg = sessionStorage; function sessionStgSave(){ let val = document.getElementById('sessionStgText').value; sessionStg.setItem('sessionStgTextVal', val); } function sessionStgLoad(){ let val = sessionStg.getItem('sessionStgTextVal'); document.getElementById('sessionStgText').value = val; } function sessionStgRemv(){ sessionStg.removeItem('sessionStgTextVal'); } function sessionClear(){ sessionStg.clear(); }
localStorage
検証内容
- テキスト入力して「セーブ」
- テキスト内容をさらに更新して「ロード」
- ⇒「セーブ」した時の内容が復元。
- F5でページリフレッシュして、「ロード」
- ⇒「セーブ」した時の内容が復元。
- 画面を閉じて、もっかい開いて「ロード」
- ⇒「セーブ」した時の内容が復元。
コード
var localStg = localStorage; function localStgSave(){ let val = document.getElementById('localStgText').value; localStg.setItem('localStgTextVal', val); } function localStgLoad(){ let val = localStg.getItem('localStgTextVal'); document.getElementById('localStgText').value = val; } function localStgRemv(){ localStg.removeItem('localStgTextVal'); } function localClear(){ localStg.clear(); }
ナニコレ、全然簡単で便利で大容量ってすごいじゃない。
今後作るフォームにはどんどん使ってこう。