HTML5 Webストレージを備えたクライアント側ストレージ
HTML5 Webストレージは、LocalStorageとSessionStorageを含むクライアントストレージメカニズムであり、前者はストレージを維持し、後者はセッション中にのみ有効です。容量が大きく、リクエストでデータを送信せず、ユーザーの好み、フォームステージング、軽量認証、およびクロスページ通信を覚えるのに適しています。使用する場合は、文字列のみを保存するように注意する必要があります。自動有効期限メカニズムはなく、同期操作はパフォーマンスに影響を与える可能性があり、サブドメイン名はデータを共有しません。サーバーまたはhttponly Cookieに機密情報を保存することをお勧めします。
ブラウザに一時的にデータを保存する必要がある状況に遭遇することがよくありますか?たとえば、ユーザーのログインステータスを覚えており、いくつかの設定を保存し、Cookieを使用したくないのですが、これは古い方法です。 HTML5のWebストレージは、この問題を解決するために作成されました。

HTML5 Webストレージとは何ですか?
Webストレージは、HTML5が提供するクライアントストレージメカニズムであり、主にlocalStorage
とsessionStorage
2つのタイプが含まれています。それらはすべて、ブラウザにキー価値ペアの形でデータを保存しますが、重要な違いが1つあります。
- LocalStorage :ブラウザのキャッシュが手動でクリアされない限り、データは常に保存されます。
- SessionStorage :現在のセッション中にのみ、ページまたはブラウザを閉じた後にデータがクリアされます。
Cookieと比較して、Webストレージの容量が大きく(通常、ドメイン名あたり約5MB)、各リクエストでサーバーに送信されず、ネットワーク上の負担が軽減されます。

Webストレージを使用してデータにアクセスする方法は?
実際には非常に簡単に使用できますが、基本的にはいくつかの方法を呼び出すことです。たとえば、ユーザーのユーザー名をローカルに保存する場合は、次のように書くことができます。
localStorage.setItem( 'username'、 'john_doe');
後でこの値を読みたいとき:

let name = localstorage.getitem( 'username'); console.log(name); // output john_doe
特定のデータを削除する場合:
localstorage.removeItem( 'username');
すべてのデータをクリアしたい場合:
localstorage.clear();
これらの方法はsessionStorage
にも適用されますが、ライフサイクルは異なります。
Webストレージは文字列のみを保存できることに注意する必要があります。オブジェクトまたは配列を保存する場合は、 JSON.stringify()
を使用して最初に変換する必要があります。
let user = {name: 'john_doe'、age:25}; localStorage.setItem( 'user'、json.stringify(user));
取り出したら、それを分析します:
let userdata = json.parse(localstorage.getitem( 'user'));
どのシナリオがWebストレージに適していますか?
- ウェブサイトのテーマ、フォントサイズなどなど、ユーザーの好みを覚えておいてください。毎回ユーザーに再選択する必要はありません。
-
データをフォーム一時ストレージ:コンテンツの半分を入力した後、ユーザーは誤ってページを再表示します。
sessionStorage
を使用して、以前のコンテンツを復元できます。 -
軽量認証情報:たとえば、JWTトークン。XSS攻撃リスクのため)長い間
localStorage
配置することはお勧めしませんが、一部のフロントエンドおよびバックエンド分離プロジェクトでは依然として一般的です。 -
クロスページ通信:
storage
イベントを聞くことで、複数のタブ間で簡単なメッセージを渡すことができます。
たとえば、To Doアプリケーションに取り組んでいる場合、ユーザーが追加するタスクはlocalStorage
に一時的に存在する可能性があり、更新されてもページは失われません。
何に注意を払うべきですか?
Webストレージは非常に便利ですが、注意を払うための「ピット」がいくつかあります。
- IE8以下のバージョンはサポートされていませんが、今すぐ使用する必要はありませんよね?
- 保存されたデータは文字列のみであり、複雑な構造はそれ自体でシリアル化と降下を処理する必要があります。
- 有効期限が切れる可能性のあるCookieとは異なり、データは自動的に
expires
なりません。 - すべての操作は同期されており、大規模なデータ操作はパフォーマンスに影響を与える可能性があります。
- 異なるサブドメイン間のデータは共有されていません。たとえば、
a.example.com
とb.example.com
にはそれぞれ独自のストレージスペースがあります。
アプリケーションにユーザーに敏感な情報などの高いセキュリティ要件がある場合は、HTTPonly Cookieまたはサーバーに配置することをお勧めします。
基本的にそれだけです。 Webストレージは複雑ではありませんが、詳細、特にデータ形式やセキュリティの側面を無視するのは簡単です。よくマスターすると、フロントエンドエクスペリエンスが大幅に向上する可能性があります。
以上がHTML5 Webストレージを備えたクライアント側ストレージの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Stock Market GPT
AIを活用した投資調査により賢明な意思決定を実現

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

このチュートリアルは、CSSを使用してHTMLページの特定のテキストコンテンツを正確に非表示にする方法を詳しく説明し、不適切なセレクターのために親要素全体が非表示になっているという問題を回避します。ターゲットテキストのラッピング要素に排他的なCSSクラスを追加し、ディスプレイを使用して以下を使用します。属性、開発者はページ要素の洗練された制御を実現し、必要な部品のみが隠されていることを確認し、それによりページレイアウトとユーザーエクスペリエンスを最適化します。

この記事では、クロスドメインのiframesを含む親divでムースタウンイベントをキャプチャするという課題について説明します。中心的な問題は、ブラウザのセキュリティポリシー(同じオリジンポリシー)が、ドメインクロスIFRAMEコンテンツでの直接DOMイベントリスニングを防ぐことです。このタイプのイベントキャプチャは、IFRAMEソースドメイン名が制御され、CORSが構成されていない限り、実現できません。この記事では、これらのセキュリティメカニズムを詳細に説明し、イベントインタラクションに関する制限を説明し、可能な代替案を提供します。

USECSSFLOATPROPERTYTOWRAPTEXTARONDANIMAGE:floatleftortextontontheright、floatrightextontontheleft、addmarginforspacing、およびclearfloatstopreventlayoutissues。

setthelangattributionthehtmltagtospecifypagelanangage、たとえば、たとえば、forenglish;

この記事では、HTMLで外部JavaScript関数を呼び出す際の2つの一般的な問題を調査します。スクリプトの読み込み時間が不適切になり、DOM要素が準備ができていません。また、関数の命名は、ブラウザの組み込みイベントまたはキーワードと競合する場合があります。この記事では、スクリプト参照位置の調整や、JavaScriptコードが正しく実行されることを確認するための優れた関数の命名仕様に従って、詳細なソリューションを提供します。

UsethetitLeattributeForsimpletOultipsOrcsSorcustom-styledones.1.addtitle = "text" to nayelementfordefaultTooltips.2.forStyledTooltips、wraptheelementinAcontainer、use.tooltipand.tooltiptextextextexcscstioning、pseudo-spositing、andsoditioning、andvisctioning

usemailto:inhreftocreateemaillinks.startwithforbasiclinks、add?subject = and&body = forpre-fillcontent、およびincludemultipreaddresseSorcc =、bcc = foradvencedoptions。

WebページレイアウトにBootstrapを使用する場合、開発者は、特に親コンテナがFlexBoxレイアウトを適用する場合、デフォルトで垂直に積み重ねられたものではなく、並べ替えられる要素の問題に遭遇することがよくあります。この記事では、この共通のレイアウトチャレンジを詳細に調べて解決策を提供します。BootstrapのFlex-Column Toolクラスを使用して、Flex-Direction属性を列に調整して、フォームなどのH1タグとコンテンツブロックの正しい垂直方向の配置を実現し、ページ構造が期待を満たすことを保証します。
