ホームページ > ウェブフロントエンド > H5 チュートリアル > クライアント側のデータストレージにHTML5 WebストレージAPI(LocalStorage and SessionStorage)を使用するにはどうすればよいですか?

クライアント側のデータストレージにHTML5 WebストレージAPI(LocalStorage and SessionStorage)を使用するにはどうすればよいですか?

百草
リリース: 2025-03-12 15:16:17
オリジナル
128 人が閲覧しました

クライアント側のデータストレージにHTML5 WebストレージAPI(LocalStorage and SessionStorage)を利用する

HTML5 WebストレージAPIは、ユーザーのWebブラウザー内にキー価値のペアを保存するための2つのメカニズムを提供します: localStoragesessionStorage 。どちらも、クライアント側にデータを持続する簡単な方法を提供し、少量の情報を取得または更新するための頻繁なサーバーラウンドトリップの必要性を排除します。これにより、特にユーザーの好みを覚えている、ショッピングカートの維持、一時的なアプリケーション状態の保存などのタスクで、アプリケーションのパフォーマンスとユーザーエクスペリエンスが大幅に向上します。

APIを使用するには、ブラウザのwindowオブジェクトを介してアクセスします。 Browserが閉じて再開された後でも、 localStorage無期限にデータを維持します。ただし、 sessionStorageデータは、単一のブラウザセッションの期間中にのみ利用できます。ブラウザウィンドウまたはタブを閉じると、 sessionStorageデータがクリアされます。

localStorageを使用してデータの設定と取得の基本的な例を次に示します。

 <code class="javascript">// Store data localStorage.setItem('username', 'JohnDoe'); // Retrieve data let username = localStorage.getItem('username'); console.log(username); // Output: JohnDoe // Remove data localStorage.removeItem('username'); // Clear all data localStorage.clear();</code>
ログイン後にコピー

同じ方法( setItemgetItemremoveItemclear )もsessionStorageに適用されます。 localStoragesessionStorageの選択は、アプリケーションの特定のニーズに依存します。

LocalStorageとSessionStorageの重要な違い

localStoragesessionStorageの主な違いは、その持続性にあります。

  • LocalStorage:データは、ブラウザセッション全体で無期限に持続します。これは、ユーザーがブラウザを閉じて後で返す後でも保持されるべきユーザーの設定、設定、またはその他の情報を保存するのに最適です。データは、 localStorage.removeItem()またはlocalStorage.clear()を使用して明示的に削除されるまで保存されたままです。
  • SessionStorage:データは、単一のブラウザセッションの期間中にのみ使用できます。 [ブラウザ]タブまたはウィンドウを閉じると、すべてのsessionStorageデータがクリアされます。これは、ショッピングカートのアイテムや一時的なアプリケーション状態など、単一のセッション内でのみ関連する一時的なデータに適しています。

もう1つの微妙な違いは、 sessionStorage同じオリジンから発信されるさまざまなブラウザタブまたはWindowsで共有されないことです。同じWebサイトの複数のタブを開くと、各タブに独自の独立したsessionStorageがあります。一方、 localStorage 、同じ起源のすべてのタブとWindowsで共有されます。

HTML5 Webストレージを使用する際の潜在的なセキュリティとプライバシーの懸念の処理

便利ですが、HTML5 Webストレージを使用すると、潜在的なセキュリティとプライバシーの懸念が導入されます。

  • データエクスポージャー:同じWebサイトで実行されている悪意のあるJavaScriptコード(XSSの脆弱性など)で実行され、 localStorageおよびsessionStorageに保存されているデータにアクセスして操作できます。
  • プライバシーの懸念: localStorageおよびsessionStorageに保存されているデータは、保存したWebサイトのみにアクセスできますが、機密情報を直接保存することはできません。暗号化やハッシュテクニックを使用する前に、機密データを保存する前に使用することを検討してください。
  • ストレージ制限:ブラウザは、Webストレージを使用して保存できるデータの量に制限を課します。これらの制限を超えると、エラーが発生する可能性があります。保存しているデータのサイズに常に注意してください。

これらのリスクを軽減するには:

  • 機密データの最小化:パスワード、クレジットカード番号、または個人識別可能な情報(PII)などの非常に機密情報をWebストレージに直接保存しないようにしてください。
  • 暗号化:機密データを保存する必要がある場合は、Webストレージに保存する前に暗号化します。強力な暗号化アルゴリズムを使用して、暗号化キーを安全に管理します。
  • 入力検証:注入攻撃を防ぐために、保存する前にすべてのデータを検証します。
  • HTTPS:常にHTTPSを使用して、Webサイトとの間で送信されたデータが暗号化され、盗聴から保護されていることを確認してください。

HTML5 WebストレージAPIを使用して保存されたデータの取得と操作データ

データの取得はgetItem()を使用して簡単です。データを操作するには、それを取得し、変更してから、 setItem()を使用して保存する必要があります。

 <code class="javascript">// Retrieve data let storedData = localStorage.getItem('myData'); // Parse JSON data (if stored as JSON) let myObject = JSON.parse(storedData); // Modify the data myObject.name = "Updated Name"; // Stringify the object back to JSON let updatedData = JSON.stringify(myObject); // Store the updated data localStorage.setItem('myData', updatedData);</code>
ログイン後にコピー

この例では、JSONオブジェクトとして保存されているデータの取得、それを変更し、更新されたオブジェクトをlocalStorageに保存することを示しています。オブジェクトまたは配列を保存する前に、常にJSON.stringify() JSON.parse()使用してください。単純な文字列または数字の場合、 getItem()setItem()の直接使用で十分です。また、 forループとその長さのプロパティを使用してlocalStorageを繰り返して、すべての保存されたキー価値ペアにアクセスすることもできます。同じ原則がsessionStorageに適用されます。

以上がクライアント側のデータストレージにHTML5 WebストレージAPI(LocalStorage and SessionStorage)を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート