HTML5 WebストレージAPIは、ユーザーのWebブラウザー内にキー価値のペアを保存するための2つのメカニズムを提供します: localStorage
とsessionStorage
。どちらも、クライアント側にデータを持続する簡単な方法を提供し、少量の情報を取得または更新するための頻繁なサーバーラウンドトリップの必要性を排除します。これにより、特にユーザーの好みを覚えている、ショッピングカートの維持、一時的なアプリケーション状態の保存などのタスクで、アプリケーションのパフォーマンスとユーザーエクスペリエンスが大幅に向上します。
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>
同じ方法( setItem
、 getItem
、 removeItem
、 clear
)もsessionStorage
に適用されます。 localStorage
とsessionStorage
の選択は、アプリケーションの特定のニーズに依存します。
localStorage
とsessionStorage
の主な違いは、その持続性にあります。
localStorage.removeItem()
またはlocalStorage.clear()
を使用して明示的に削除されるまで保存されたままです。sessionStorage
データがクリアされます。これは、ショッピングカートのアイテムや一時的なアプリケーション状態など、単一のセッション内でのみ関連する一時的なデータに適しています。もう1つの微妙な違いは、 sessionStorage
同じオリジンから発信されるさまざまなブラウザタブまたはWindowsで共有されないことです。同じWebサイトの複数のタブを開くと、各タブに独自の独立したsessionStorage
があります。一方、 localStorage
、同じ起源のすべてのタブとWindowsで共有されます。
便利ですが、HTML5 Webストレージを使用すると、潜在的なセキュリティとプライバシーの懸念が導入されます。
localStorage
およびsessionStorage
に保存されているデータにアクセスして操作できます。localStorage
およびsessionStorage
に保存されているデータは、保存したWebサイトのみにアクセスできますが、機密情報を直接保存することはできません。暗号化やハッシュテクニックを使用する前に、機密データを保存する前に使用することを検討してください。これらのリスクを軽減するには:
データの取得は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 サイトの他の関連記事を参照してください。