html5のsessionStorageとlocalStorageの詳しい解説と使い方

伊谢尔伦
リリース: 2016-11-22 13:40:20
オリジナル
1258 人が閲覧しました

html5 の Web ストレージには、sessionStorage と localStorage という 2 つのストレージ メソッドが含まれています。

sessionStorage は、セッション内のデータをローカルに保存するために使用されます。これらのデータは、同じセッション内のページからのみアクセスでき、セッションが終了するとデータは破棄されます。したがって、sessionStorage は永続的なローカル ストレージではなく、セッション レベルのストレージにすぎません。

LocalStorage は、データがアクティブに削除されない限り、永続的なローカル ストレージとして使用されます。

Web ストレージと Cookie の違い

Web ストレージの概念は Cookie に似ていますが、異なる点は、より大容量のストレージ用に設計されているという点です。 Cookie のサイズは制限されており、新しいページをリクエストするたびに Cookie が送信されるため、帯域幅が無駄に使用されます。また、Cookie はスコープを指定する必要があり、ドメイン間で呼び出すことはできません。

さらに、Web Storage には setItem、getItem、removeItem、clear などのメソッドがあります。Cookie とは異なり、フロントエンド開発者は setCookie と getCookie を自分でカプセル化する必要があります。

しかし、Cookie も不可欠です。Cookie はサーバーと対話するために使用され、HTTP 仕様の一部として存在しますが、Web ストレージはデータをローカルに「保存」するためにのみ作成されます (@otakustay からの訂正)

html5 Web ストレージ ブラウザのサポート

IE7 以下を除き、他の標準ブラウザーはこれを完全にサポートしています (IE と FF は Web サーバーで実行する必要があります)。IE は常に良いことを行うために、たとえば、IE7 と IE6 の UserData は実際には . JavaScript ローカル ストレージのソリューション。単純なコードのカプセル化により、すべてのブラウザを統合して Web ストレージをサポートできます。

ブラウザが localStorage をサポートしているかどうかを確認するには、次のコードを使用できます:

if(window.localStorage){     
    alert("浏览支持localStorage");
}else{    
    alert("浏览暂不支持localStorage");
} //或者 
if(typeof window.localStorage == 'undefined'){ 
    alert("浏览暂不支持localStorage");
}
ログイン後にコピー

localStorage と sessionStorage の操作

localStorage と sessionStorage には、setItem、getItem、removeItem などの同じ操作メソッドがあります。

localStorage のメソッドそしてsessionStorage

setItemは値を格納します

目的: キーフィールドに値を格納します
使用法: .setItem(key, value)
コード例:

sessionStorage.setItem("key", "value"); localStorage.setItem("site", "js8.in");
ログイン後にコピー

getItemが値を取得します

目的: 指定されたキーにローカルに格納されている値を取得します
使用法: .getItem( key)
コード例:

var value = sessionStorage.getItem("key"); var site = localStorage.getItem("site");
ログイン後にコピー

removeItem delete key

目的: 指定されたキーに対してローカルに保存されている値を削除する
使用法: .removeItem(key)
コード例:

sessionStorage.removeItem("key"); localStorage.removeItem("site");
ログイン後にコピー

clear すべてのキーをクリア/values

目的: すべてのキー/値をクリア
使用法: .clear()
コード例:

sessionStorage.clear(); localStorage.clear();
ログイン後にコピー

その他の操作メソッド: ポイント操作と []

Web Storage は独自の setItem、getItem などを使用できるだけではありません。便利なアクセスのためだけでなく、通常のオブジェクトとしても使用できます 次のコードのように、ドット (.) 演算子と [] メソッドを使用してデータを保存します:

var storage = window.localStorage; storage.key1 = "hello"; storage["key2"] = "world"; console.log(storage.key1); console.log(storage["key2"]);
ログイン後にコピー

localStorage と sessionStorage の key 属性と length 属性はトラバーサルを実装します

sessionStorage と localStorage によって提供される key() と length は便利です。次のコードのように、ストアド データ トラバーサルを実装します。たとえば、次のコードはストレージ イベントを追加します。 イベント変更の監視:

var storage = window.localStorage; for (var i=0, len = storage.length; i  <  len; i++){     
var key = storage.key(i);     var value = storage.getItem(key);     console.log(key + "=" + value); 
}
ログイン後にコピー

ストレージ イベント オブジェクトの特定のプロパティは次のとおりです:

プロパティ タイプ 説明

key 文字列 追加または削除された名前付きキー。 、または変更された

oldValue Any 以前の値 (上書きされている)、または新しい項目が追加された場合は null

newValue Any 新しい値、または項目が追加された場合は null

url/uri String : Storage Web Storage の例

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