LocalStorageには、ブラウザに2つのAPIがあります。LocalStorageとsessionStorageは、ウィンドウオブジェクトに存在します:localStorageはwindow.localStorageに対応し、sessionStorageはwindow.sessionStorageに対応します。
LocalStorageとSessionStorageの違いは、主にその生存によるものです。
基本的な使用法localStorage.setItem(b、isaac)キー名は、BlocalStorage.RemoveItem(b)です。範囲
ここでの関数の役割は、次のことを指します。異なるページ間でローカルストレージを分離する方法(Baiduのページ、HahahaでTencentのLocalStorageを読むことはできません)。
LocalStorageは、同じプロトコル、同じホスト名、および同じポートである限り、同じLocalStorageデータを読み取り/変更できます。
SessionStorageは、プロトコル、ホスト名、ポートに加えて、LocalStorageよりも厳しいものです。
生存LocalStorageは理論的に永続的かつ効果的です。つまり、保存されたデータがブラウザで指定されたサイズを超えていても、それは消えません。ただし、モバイルデバイス上のブラウザのWebViewまたは各ネイティブアプリで使用されるWebViewでは、LocalStorageはさまざまな理由が原因である可能性があります。 ) クリア。
SessionStorageのサバイバル期間は、名前が示すように、ブラウザがオフになっている限り(ブラウザタブページを含む)セッションに似ています。クリアされます。 SessionStorageの生存期間は短すぎるため、アプリケーションのシナリオは非常に限られていますが、一方で、異常な状態を持つことは容易ではなく、より信頼性が高くなります。
データ構造LocalStorageは、標準のKey-Valueペア(Key-Value(KV)データ型であり、シンプルですが拡張が簡単です。Codingメソッドで使用されている限り、LocalStorageを文字列に保存したいオブジェクトを変換する限り、簡単にサポートできます。たとえば、オブジェクトをJSON文字列に変換すると、画像をDataUrl(base64)に変換して写真を保存できます。さらに、キー値のタイプの場合、キーの唯一の特性も非常に重要です。
有効期限残念ながら、LocalStorageは設定時間をネイティブにサポートしていません。
関数セット(key、value){var curtime = new date() sequence} function(key、exp)// expは設定時間{var value = localstorage.getitem(key); jsonオブジェクトif(new date()。gettime()-Dataobj.time> exp)// expiration} else {console.log(value =+dataobj.val);}}容量
現在、業界は基本的に5mに統一されており、これは4kのCookieよりもはるかに大きく、野avな年を少し節約しています。
ドメイン名制限ブラウザのセキュリティ戦略により、LocalStorageはクロスドメインにすることはできません。
異常な治療現在のブラウザ環境では、LocalStorageは完全に安定していません。個人的には、LocalStorageは、Consoleの出力ポイントエラー情報の異常な処理に完全に反対するため、リソースの最適化方法にすぎないと考えています。 LocalStorageの異常な処理は、一般に、TRY/CACTで異常をキャプチャ/処理するために使用されます。
ユーザーの現在のブラウザがLocalStorageをサポートするかどうかをテストする方法現在の一般的なアプローチは、window.localStorageが存在するかどうかを検出することですが、一部のブラウザにはバグがありますが、実際のプロセスにはsetitem()などの低レベルのバグもあります。したがって、ブラウザがTry/CATCH構造でテストデータをセット/取得することにより、ブラウザがLocalStorageをサポートするかどうかを判断できることをお勧めします。
ブラウザの互換性デバッグする方法Chrome開発者ツールのリソース - ローカルストレージパネルとリソース - セッションストレージパネルは、現在のドメイン名の下にLocalStorageデータを見ることができます。
iOSデバイスでsetim()を繰り返すことができませんさらに、setItem()がiPhone/iPadに設定される場合、奇妙なquota_exeded_errエラーが表示されます。
推奨プラグインstore.js
Mozilla/LocalFarage
LocalFont
上記は、Xiaobianによって紹介されたHTML5の詳細な説明です。 VEVBウーリンのウェブサイトへのご支援ありがとうございます!