2012-03-28 14 views
3

セッション値はサイトに基づいて保存されていますか、それともページに基づいていますか?HTML 5 - sessionStorage - 同じドメイン内のページ間で値が重複しています

私は、example.com/page1とexample.com/page2のような同じドメイン内の2ページにわたっていくつかの値をsessionStorageに保存しています。これで、あるページの値を変更すると、それがどういうわけか重複したり、他のページの値に影響を与えます。私は1つのブラウザ、単一のタブでpg1とpg2を切り替える。キー名は両方のページで同じです。私が2ページ目の新しいキーを作成するのは非常に難しいことではありませんが、これがなぜそうであるのかを理解しようとするのは難しいでしょう。私のenvはMacのSafariです。

また、別の質問では、ページ単位ではなくサイト単位のセッション変数を作成できますか?いくつかの時間は、私は1つのページからいくつかの値を格納したいと思って、そのユーザーのセッションに限り、そのサイト内のすべてのページにわたってその値を確認する必要があります。

ありがとうございます!

答えて

2

セッション記憶域は同じドメイン上の任意のページからアクセスできるように設計されているため、変数の値は両方のページで同じになります。  その特定のウィンドウまたはタブのみですが。

参考:http://dev.w3.org/html5/webstorage/#introduction

1

あなたがのsessionStorageの2つの完全に異なるインスタンスを持つようにするには、第二のsessionStorageキーを定義することができます。 SessionStorageはサイト全体に存在しますが、1つのタブ/ウィンドウ内にのみ存在します。

ものlocalStorageとのsessionStorageとの違いを見て役に立つかもしれません:HTML5 Local storage vs. Session storage

+0

あなたはフレーズ第二のsessionStorageで何を意味するのですか?別々の鍵を意味しますか?ストレージを複製する方法はありますか?もしそうなら、もう少し詳しく説明してください。 – McK

+1

ストレージを複製するには、特定のキーが存在するかどうかを確認し、存在する場合は、その値を新しいキーにコピーします。 –

関連する問題