セッションストレージオブジェクトストレージとlocalStorageオブジェクトストレージの理解

1980 ワード

最初のWeb Storage仕様には、sessionStorageとglobalStorageの2つのオブジェクトの定義が含まれています.後者はHTML 5でlocalStorageに置き換えられ、両方のオブジェクトはサポートされているブラウザでwindowsオブジェクトプロパティとして存在し、両方のプロパティをサポートするブラウザにはIE 8+、Firefox 3.5+、Chrome 4+、Opera 10.5+が含まれている.
Storageタイプ
Storageタイプは、ブラウザによって異なる最大のストレージスペースを提供し、名前の値ペアを格納します.Storageのインスタンスは、他のオブジェクトと同様に、次の方法があります.
clear():      ;Firefox      。
getItem(name):       name      。
key(index):  index        。
removeItem(name):   name       。
setItem(name, value):    name        。

ここで、getItem()メソッド、removeItem()メソッド、setItem()メソッドは、直接呼び出すか、Storageオブジェクトを介して間接的に呼び出すことができます.各項目は属性としてオブジェクトに格納されるため、点構文または角カッコ構文で属性にアクセスして値を読み取るか、設定も同様、deleteオペレータで削除できます.ただし、キーがオブジェクトにすでに存在するメンバーを誤って書き換えないように、属性ではなく方法を使用してデータにアクセスすることをお勧めします.
また、lengthプロパティを使用して、Storageオブジェクトに格納されている名前値ペアの数を判断することもできます.ただし、オブジェクト内のすべてのデータのサイズを判断することはできませんが、IE 8は、さらに使用可能な記憶領域のバイト数を取得するためのremainingSpaceプロパティを提供します.
Storageタイプには文字列のみが格納されます.文字列以外のデータは、格納する前に文字列に変換されます.
sessionStorageオブジェクト
sessionStorageオブジェクトは、セッションに固有のデータを格納します.つまり、ブラウザが閉じるまで保持されます.このオブジェクトはセッションクッキーのようなもので、ブラウザが閉じた後に消えてしまいます.セッションストアに格納されているデータは、ページを越えてリフレッシュすることができます.また、ブラウザがサポートされている場合、ブラウザがクラッシュして再起動しても使用できます(FirefoxとWebKitがサポートしている場合、IEは使用できません).
sessionStorageオブジェクトは、実際にはStorageのインスタンスであるため、setItem()を使用するか、新しいプロパティを直接設定してデータを格納できます.以下に、この2つの方法の例を示します.
//           
sessionStorage.setItem("name", "Nicholas");

//        (   )
sessionStorage.book = "Professional JavaScript";

localStorageオブジェクト
removeItem()またはdeleteを使用して削除しない場合、またはユーザーがブラウザキャッシュをクリアしていない場合、localStorageプロパティに格納されているデータはディスクに保持されます.これによりlocalStorageは、クライアントにドキュメントを格納したり、ユーザーの好み設定を長期にわたって保存したりするのに適しています.
localStorageはStorageのインスタンスであるため、sessionStorageを使用するように使用できます.以下に例を示します.
//        
localStorage.setItem("name", "Nicholas");

//        (   )
localStorage.book = "Professional JavaScript";