HTML5でクライアント側にデータを保存する方法とは?ブラウザデータベースの選択肢とlocalStorageの使い方
HTML5のローカルストレージ(localStorage)を活用しよう
クライアント側のブラウザにデータを保存したい場合、HTML5で標準搭載されているローカルストレージ(localStorage)を利用するのが最も手軽な方法です。
ローカルストレージは、複数のウィンドウやタブ間でデータを共有でき、ブラウザを閉じてもデータが失われない永続的なストレージとして設計されています。特に、ユーザーが作成したドキュメントやメールボックスのように数メガバイト規模になるユーザーデータを、サーバーとの通信を減らしてパフォーマンスを向上させる目的でクライアント側に保存したいケースに適しています。
localStorageの基本的な使い方
以下は、ページのアクセス回数(ヒット数)をカウントして表示するシンプルなサンプルコードです。
<!DOCTYPE HTML>
<html>
<body>
<script>
if( localStorage.hits ){
localStorage.hits = Number(localStorage.hits) + 1;
} else {
localStorage.hits = 1;
}
document.write("Total Hits :" + localStorage.hits);
</script>
<p>ページを更新するとヒット数が増えます。</p>
<p>ウィンドウを閉じて再度開いても、結果を確認できます。</p>
</body>
</html>
動作のポイント
- ページを再読み込みするたびに、ヒット数が1ずつ増加していきます。
- ウィンドウを閉じて再度開いてもカウントはリセットされません。これは、データがセッションを超えて保持されるためです。
- データは「キーと値」のペアで保存され、どちらも文字列として扱われます。数値を扱う場合は
Number()などで変換が必要です。
補足:sessionStorageとの違い
HTML5には、localStorageのほかにsessionStorageという仕組みもあります。sessionStorageはタブやウィンドウを閉じるとデータが消去されるのに対し、localStorageはユーザーまたはスクリプトが明示的に削除しない限りデータが残り続けます。用途に応じて使い分けることが重要です。
また、保存できる容量はオリジン(ドメイン)ごとにおよそ5MB程度とされています。より大量のデータや構造化されたデータを扱いたい場合は、IndexedDBの利用も検討するとよいでしょう。
-
HTML5のlocalStorage APIを使ってブラウザにデータを保存する方法
HTML5 localStorageとは HTML5のlocalStorageは、文字列データをブラウザ内に保存し、現在のセッションが終了してもデータを保持し続けることができる仕組みです。localStorageは有効期限なしでデータを保存します。一方、sessionStorageはセッション中のみ有効であり、ブラウザを閉じると保存されたデータは失われます。 localStorageの用途と特徴 ローカルストレージは、複数のウィンドウ間で共有でき、セッションをまたいでもデータが持続するストレージとして設計されています。特に、Webアプリケーションではパフォーマンス向上のために、ユーザーが作成
-
Facebook解体の時が来た?検討すべき3つの選択肢
Facebookの圧倒的な支配力は、競合他社や各国政府、独占禁止法の推進者にとって頭痛の種となっています。最近では、Facebookの共同創業者の一人であるクリス・ヒューズ氏がニューヨーク・タイムズへの寄稿の中で、道義的な観点から同社の解体を呼びかけ、大きな話題を呼びました。この提言は直ちにマーク・ザッカーバーグ氏やテック系ジャーナリストたちから反発を受けました。ある友人はこう語りました。「本気かい?ザッカーバーグは間違ったことをしないよ。彼は株式の99%を慈善事業に寄付すると誓っているんだから」(この論法には「実績に訴える論証」という名前がついています)。なぜFacebookの解体が重要なの