3

JavaScript を使用して (自分のドメインの) ブラウザー タブを識別したいと考えています。ユーザーが自分の Web サイトで複数のタブを開き、1 つのページでのみ Web フォームを送信した場合、ユーザーがこのページから移動した場合でも、このページのみに通知したいということです。これは、最大のクロス ブラウザー ソリューションである必要があります。

PS可能な解決策の1つは「window.name」プロパティを使用することですが、他の誰かが使用できるため、使用したくありません。

PS-2: もう 1 つの可能な解決策を見つけました: sessionStorageを使用します。FF3.5+、Chrome4+、Safari4+、Opera10.5+、IE8+に対応しています。うーん、IE7が必要です!!!!

前もって感謝します!

4

3 に答える 3

1

これはできないと思います。開かれた各ブラウザー タブは、基本的に新しいブラウザー インスタンスのようなものです。ユーザーが別のブラウザを開いた場合と同様です。設計上、一方のタブはもう一方のタブについて何も知りません。これが本来あるべき姿です。Web サイトの開発者が自分のページにコードを追加して、ブラウザで開いている他のサイトを「見る」ことができるとしたら、どのような影響があるか想像できますか?

于 2012-09-18T14:01:09.277 に答える
1

window.name要件で説明されているように、この目的で使用できる唯一の永続データ要素です。

ユーザーがこのページから移動しても、このページだけ通知したい。

不可能だよ。ユーザーがページから移動すると、そのタブを制御できなくなります。ページにプッシュすることはできません。たとえそれがajaxであっても、そのページからサーバーリクエストを行う必要があります。

于 2012-09-18T14:02:06.420 に答える
0

セッションストレージの使用。FF3.5+、Chrome4+、Safari4+、Opera10.5+、IE8+に対応しています。

「window.name」プロパティを使用する IE7 の場合。

于 2012-09-19T12:29:25.867 に答える