1

ブラウザウィンドウに固有のデータを保存するJavaScriptの方法はありますか?ユーザーが複数のブラウザウィンドウを開いている場合(すべて同じブラウザ、たとえばFirefox)、各ウィンドウに固有のデータがあります。...すべてのウィンドウで共有されるCookieとは対照的です。

私のユーザーは、動的な埋め込みデータを表示するために、同じ.htmlページに対して複数のウィンドウを開く必要があります。各ウィンドウは、同時に、異なる埋め込みソースからのデータを動的に表示します。

したがって、私のJavaScriptは、あるウィンドウを別のウィンドウと区別できる必要があります。

4

2 に答える 2

2

私が考えることができる唯一のことはwindow.nameを設定することです...私はそれを試したことさえありませんが、私が知る限り、それはクッキーのようにページナビゲーションを生き残るはずです-私はすぐに戻ってきます、少しテストをします...

-

正常に動作しているようですが、window.nameの最大長がわかりません(編集:2MBのクロスブラウザ、Operaを除外している場合はさらに多く-http: //www.thomasfrank.se/sessionvars.html)。私が見つけた唯一のことはChromeで、別のドメインにアクセスするとwindow.nameが失われますが、他のブラウザでは名前がまだ残っているので、それは実行可能であり、将来常に機能することを100%確実に信頼する必要はありません。けれど。

ウィンドウ/タブごとに状態を保存するもう1つの方法は、URIを使用することですが、ナビゲーションに関しては注意が必要です。つまり、誤って紛失しないように、特定のナビゲーションメカニズムを使用するように訓練する必要があり、ユーザーにもわかりやすく表示されます。利点は、それが設計目標である場合、ブックマーク可能/電子メール化可能などになることです。

-

これらの方法はすべて、個人/機密/重要なデータには不適切ですが、揮発性/一時的なビューステートの場合、問題は発生しません。

于 2012-07-03T20:23:23.900 に答える
0

さまざまなウィンドウ インスタンスにデータをアタッチすると、各ウィンドウ コンテキストは他のウィンドウ コンテキストとは異なります。

var w = window.open('somepage.html');
window.foo = 'bar';
w.foo = 'baz';
于 2012-07-03T20:18:51.570 に答える