[js: WebStorage API] WebStorageAPI note. #js #html
LocalStorageはWebStorageと呼ばれるものの一つ。JavaScriptでブラウザにデータを保存できるHTML5の新しめAPI。オリジン単位でデータを永続的に保存するストレージ(http://www.example.com:80みたいなドメイン一つを1オリジンと考える)
同じく HTML5 の新APIで LocalStorage と似ているが、一回限りのセッションで有効なストレージであり大きく「有効期限」が違う。LocalStorage では半永久的にデータを保持できるのに対し SessionStorage はウィンドウやタブを閉じると消失する。作業途中データや画面遷移時の一時的なデータ保存に有効。また、別ウィンドウでのデータ共有も LocalStorage は可能だが SessionStorage は対応不可。
オブジェクトの直格納はできません!!!JSで作成したオブジェクトを localStorage に格納する場合は、一度 JSON.stringify()
でJSON文字列に変換してぶち込み、再取得時に JSON.parse()
する必要がありまする。
if (!window.localStorage) {
alert('お使いのブラウザは localStorage に対応してません。');
}
// save
window.localStorage.setItem(key, val);
// save obj
window.localStorage.setItem(key, JSON.stringify(val));
// read
console.log(window.localStorage.getItem(key));
// read obj
console.log(JSON.parse(window.localStorage.getItem(key)));
// delete
window.localStorage.removeItem(key);
// init (clear)
window.localStorage.clear()