sessionStroage localStorage
html 5のWeb Storageには、sessionStorageとlocalStorageの2つのストレージ方式が含まれています.
sessionStorageは、同じセッション内のページにのみアクセスでき、セッションが終了するとデータも破棄されるセッション内のデータをローカルに格納するために使用されます.したがって、sessionStorageは永続的なローカルストレージではなく、セッションレベルのストレージにすぎません.
一方、localStorageは、データをアクティブに削除しない限り、永続化されたローカルストレージに使用されます.データは期限切れになりません.
web storageとクッキーの違い
Web Storageの概念はクッキーと似ていますが、違いは、より大きな容量のストレージのために設計されていることです.Cookieのサイズは制限されており、新しいページを要求するたびにCookieが送信されます.これにより、帯域幅が無形に浪費されます.また、cookieは役割ドメインを指定する必要があります.ドメイン間で呼び出すことはできません.
このほか、Web StorageにはsettItem、getItem、removeItem、clearなどの方法があり、クッキーのようにフロントエンド開発者がsetCookie、getCookieを自分でカプセル化する必要はありません.
ただし、Cookieも欠かせません.Cookieの役割はサーバとのインタラクションであり、HTTP仕様の一部として存在しますが、Web Storageはローカルでデータを「格納」するためだけに生成されます(@otakustayからの修正)
html 5 web storageのブラウザサポート状況
ブラウザのサポートはIE 7以下がサポートされていないほか、他の標準ブラウザは完全にサポートされている(ieおよびFFはwebサーバで実行する必要がある).IEはいつも良いことをしている.例えば、IE 7、IE 6のUserDataはjavascriptローカルストレージのソリューションである.簡単なコードパッケージにより、すべてのブラウザがweb storageをサポートするように統一できます.
ブラウザがlocalStorageをサポートしているかどうかを判断するには、次のコードを使用します.
localStorageおよびsessionStorageアクション
localStorageとsessionStorageは、setItem、getItem、removeItemなど、同じ操作方法を有します.
localStorageとsessionStorageの方法
setItem格納value
用途:valueをkeyフィールドに格納する使い方:.setItem(key,value)コードの例:
getItem valueの取得
用途:指定keyローカルに格納された値の使用法を取得する:.getItem(key)コードの例:
removeItem削除key
用途:指定keyローカルに格納されている値の使用法を削除する:.removeItem(key)コードの例:
クリアすべてのkey/valueをクリア
用途:すべてのkey/value用法をクリアする:.clear()コードの例:
その他の操作方法:ポイント操作と[]
web Storageは、自身のsetItem、getItemなどでアクセスしやすいだけでなく、普通のオブジェクトのようにポイント(.)を使うこともできます.オペレータ、および[]は、次のコードのようにデータを格納します.
localStorageとsessionStorageのkeyとlengthプロパティの遍歴
sessionStorageおよびlocalStorageが提供するkey()およびlengthは、次のコードのような格納されたデータの遍歴を容易に実現することができる.
storageイベント
storageはstorageイベントも提供し、キー値が変更されたりclearされたりすると、storageイベントをトリガーすることができます.次のコードのようにstorageイベントの変更のリスニングが追加されます.
一、ブラウザは各ドメイン名に含まれるクッキーの数を許可する:
MicrosoftはInternetExplorer 8がクッキーをドメイン名ごとに50個に制限することを指摘しているが、IE 7はドメイン名ごとに50個のクッキーを許可しているようだ.
Firefoxのドメイン名クッキーは50個に制限されています.
Operaドメイン名クッキーは30個に制限されています.
Safari/WebKitにはクッキー制限はないようです.ただし、クッキーが多い場合は、ヘッダサイズがサーバの処理の制限を超え、エラーが発生します.
注意:「ドメイン名ごとにクッキーを20個に制限」は正しくありません.
二、多くのクッキーが設定されている場合、ブラウザはどのように応答しますか.
Safari(数にかかわらずすべてのクッキーを設定できる)を除いて、2つの方法があります.
最小最近使用(leastrecentlyused(LRU))の方法:Cookieが限度額に達したとき、最も古いCookieを自動的に蹴り落として、最新のCookieにいくつかの空間を与える.Internet ExplorerとOperaはこの方法を使用します.
Firefoxはユニークです.最後の設定のCookieは常に保持されていますが、どのcookieが保持されるかはランダムに決定されているようです.何の計画もないようです(FirefoxでCookieの制限を超えないことをお勧めします).
三、ブラウザ間のクッキーの総サイズも異なる.
FirefoxおよびSafariを使用すると、cookieは名前(name)、値(value)、および等号を含む4097バイトまで使用できます.
Operaでは、名前(name)、値(value)、等号など、クッキーを4096バイトまで許可します.
Internet Explorerでは、名前(name)、値(value)、等号など、クッキーを4095バイトまで許可します.
注意:マルチバイト文字は2バイトとして計算されます.すべてのブラウザでは、クッキーのサイズが制限を超えても無視され、設定されません.
sessionStorageは、同じセッション内のページにのみアクセスでき、セッションが終了するとデータも破棄されるセッション内のデータをローカルに格納するために使用されます.したがって、sessionStorageは永続的なローカルストレージではなく、セッションレベルのストレージにすぎません.
一方、localStorageは、データをアクティブに削除しない限り、永続化されたローカルストレージに使用されます.データは期限切れになりません.
web storageとクッキーの違い
Web Storageの概念はクッキーと似ていますが、違いは、より大きな容量のストレージのために設計されていることです.Cookieのサイズは制限されており、新しいページを要求するたびにCookieが送信されます.これにより、帯域幅が無形に浪費されます.また、cookieは役割ドメインを指定する必要があります.ドメイン間で呼び出すことはできません.
このほか、Web StorageにはsettItem、getItem、removeItem、clearなどの方法があり、クッキーのようにフロントエンド開発者がsetCookie、getCookieを自分でカプセル化する必要はありません.
ただし、Cookieも欠かせません.Cookieの役割はサーバとのインタラクションであり、HTTP仕様の一部として存在しますが、Web Storageはローカルでデータを「格納」するためだけに生成されます(@otakustayからの修正)
html 5 web storageのブラウザサポート状況
ブラウザのサポートはIE 7以下がサポートされていないほか、他の標準ブラウザは完全にサポートされている(ieおよびFFはwebサーバで実行する必要がある).IEはいつも良いことをしている.例えば、IE 7、IE 6のUserDataはjavascriptローカルストレージのソリューションである.簡単なコードパッケージにより、すべてのブラウザがweb storageをサポートするように統一できます.
ブラウザが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格納value
用途:valueをkeyフィールドに格納する使い方:.setItem(key,value)コードの例:
sessionStorage.setItem("key", "value"); localStorage.setItem("site", "js8.in");
getItem valueの取得
用途:指定keyローカルに格納された値の使用法を取得する:.getItem(key)コードの例:
var value = sessionStorage.getItem("key"); var site = localStorage.getItem("site");
removeItem削除key
用途:指定keyローカルに格納されている値の使用法を削除する:.removeItem(key)コードの例:
sessionStorage.removeItem("key"); localStorage.removeItem("site");
クリアすべてのkey/valueをクリア
用途:すべてのkey/value用法をクリアする:.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); }
storageイベント
storageはstorageイベントも提供し、キー値が変更されたりclearされたりすると、storageイベントをトリガーすることができます.次のコードのようにstorageイベントの変更のリスニングが追加されます.
if(window.addEventListener){ window.addEventListener("storage",handle_storage,false); }else if(window.attachEvent){ window.attachEvent("onstorage",handle_storage); } function handle_storage(e){ if(!e){e=window.event;} }
一、ブラウザは各ドメイン名に含まれるクッキーの数を許可する:
MicrosoftはInternetExplorer 8がクッキーをドメイン名ごとに50個に制限することを指摘しているが、IE 7はドメイン名ごとに50個のクッキーを許可しているようだ.
Firefoxのドメイン名クッキーは50個に制限されています.
Operaドメイン名クッキーは30個に制限されています.
Safari/WebKitにはクッキー制限はないようです.ただし、クッキーが多い場合は、ヘッダサイズがサーバの処理の制限を超え、エラーが発生します.
注意:「ドメイン名ごとにクッキーを20個に制限」は正しくありません.
二、多くのクッキーが設定されている場合、ブラウザはどのように応答しますか.
Safari(数にかかわらずすべてのクッキーを設定できる)を除いて、2つの方法があります.
最小最近使用(leastrecentlyused(LRU))の方法:Cookieが限度額に達したとき、最も古いCookieを自動的に蹴り落として、最新のCookieにいくつかの空間を与える.Internet ExplorerとOperaはこの方法を使用します.
Firefoxはユニークです.最後の設定のCookieは常に保持されていますが、どのcookieが保持されるかはランダムに決定されているようです.何の計画もないようです(FirefoxでCookieの制限を超えないことをお勧めします).
三、ブラウザ間のクッキーの総サイズも異なる.
FirefoxおよびSafariを使用すると、cookieは名前(name)、値(value)、および等号を含む4097バイトまで使用できます.
Operaでは、名前(name)、値(value)、等号など、クッキーを4096バイトまで許可します.
Internet Explorerでは、名前(name)、値(value)、等号など、クッキーを4095バイトまで許可します.
注意:マルチバイト文字は2バイトとして計算されます.すべてのブラウザでは、クッキーのサイズが制限を超えても無視され、設定されません.