Web Storage ( sessionStorage, localStorage )
Web Storage は、ユーザーのローカル環境(ブラウザ)にデータを保存するための仕組みです。Web Storageには、sessionStorageとlocalStorageの2種類のストレージがあります。
Cookie に似た機能ですが、容量の大きさ、保存期間、保存しているデータをサーバーに送信するか否かを任意に決められることが違います。
<script type="text/javascript"> var key = "examle"; var value = "test"; var storage = window.sessionStorage.setItem(key, value); </script>
Web Storage は、 キー(key)と値( value )をペアにしたデータのリストをユーザーのローカル環境に保存します。
sessionStorage と localStorage は、データの有効期限などが異なるので目的に応じて使い分けます。
sessionStorage は、ブラウザのウィンドウやタブを閉じるといった web ページを閉じるとこのデータは破棄されます。
localStorage は指定をしない限りデータの保存期限がなく、 web ページを閉じてもデータは破棄されません。
Web Storage のデータの保存・上書き・削除・全クリアなどの操作は、JavaScript でも操作できます。
Web Storage では、5Mbyteを記憶しておくことができます。
ページ内 Index
- ad -
sessionStorage
Window.sessionStorage
sessionStorage オブジェクトは window.sessionStorage で取得します。Window は省略可能で、sessionStorage と書くこともできます。
sessionStorage は、ブラウザのウィンドウやタブを閉じるといった web ページを閉じるとこのデータは破棄されます。
localStorage は指定をしない限りデータの保存期限がなく、 web ページを閉じてもデータは破棄されません。
オリジン単位でデータを保存します。
オリジンとは、「プロトコル://ドメイン名:ポート番号」といった例えば、「http://www.example.com:80」で、サーバーを示すURLです。
このオリジン(サーバーとポート番号)さえ同じなら、複数のウィンドウでデータを共有することができます。
ストレージのデータの確認、保存するには以下のプロパティとメソッドを使用します。
プロパティ | 概要 |
---|---|
length | 保存されているデータの数を返す |
メソッド | 概要 |
key(n) | n 番目の key を返す |
getItem(key) | key に対応する value の取得 |
setItem(key, value) | データの保存。key と value のペア |
removeItem(key) | key に対応する value を削除 |
clear() | データをすべてクリアする |
Example
<script type="text/javascript"> // sessionStorage オブジェクトを取得 ( var storage = sessionStorage でも可 ) var storage = window.sessionStorage; //データの保存 var key = "examle"; var value = "test"; storage.setItem(key, value); // ストレージの状態を表示 console.log( storage ); //データをクリアする storage.clear(); // クリアされたストレージを確認 console.log( storage ); </script>
データの取得
データの取得は以下のように getItem() メソッドを使用します。
var value = window.sessionStorage.getItem("example");
データの値の削除
データの値の削除は以下のように removeItem() メソッドを使用します。
var value = window.sessionStorage.removeItem("example");
localStorage
Window.localStorage
localStorage オブジェクトは Window.localStorage で取得します。Window は省略可能で、localStorage と書くこともできます。
localStorage は指定をしない限りデータの保存期限がなく、ブラウザのウィンドウやタブを閉じるといった web ページを閉じてもデータは破棄されません。
sessionStorage は、web ページを閉じるとこのデータは破棄されます。
sessionStorage の部分が localStorage になるだけです。
<script type="text/javascript">
// sessionStorage オブジェクトを取得 ( var storage = localStorage でも可 )
var storage = window.localStorage;
//データの保存
var key = "examle";
var value = "test";
storage.setItem(key, value);
// ストレージの状態を表示
console.log( storage );
</script>
ストレージのデータの確認、保存するには以下のプロパティとメソッドを使用します。
プロパティ | 概要 |
---|---|
length | 保存されているデータの数を返す |
メソッド | 概要 |
key(n) | n 番目の key を返す |
getItem(key) | key に対応する value の取得 |
setItem(key, value) | データの保存。key と value のペア |
removeItem(key) | key に対応する value を削除 |
clear() | データをすべてクリアする |
- ad -
JavaScript
Web Storage の定義に関しては、Storage インターフェイスを参照してください。
イベントに関していは StorageEvent インターフェイス を参照してください。