4

ブラウザは複数のタブをどのように扱いますか? それらは相互作用が不可能な完全に別個のエンティティですか? ブラウザのサンドボックスの概念やその他のセキュリティ上の問題は理解していますが、Web ページがブラウザの別のタブと対話することは可能ですか?

基本的に私の質問は次のとおりです。ユーザーが新しいタブに1つのWebページをロードした場合、すでに開かれている、または後で開かれる他のタブの情報にアクセスする方法はありますか?

概念的な Web ページの後に既に開いている、または開いている他のタブについて知る必要があるアプリケーションの概念が 1 つありますが、これが可能かどうかはわかりません。

4

5 に答える 5

4

私の知る限り、これは不可能です。通常の環境では、ブラウザの下位機能を操作することはできません。それを無視するか、セキュリティ エラーが表示されます。

于 2013-08-14T17:01:36.510 に答える
1

両方のドキュメントが相互に通信するように書かれている場合を除いて、それを行う方法はないと思います(vBulletinの新しいウィンドウのように)。タブにアクセスする唯一の方法は、ブラウザ用のアドオンを作成することです。

于 2013-08-14T17:02:45.073 に答える
1

クライアント側の他のタブにアクセスする方法はありません。

ただし、これをサーバー側で実行できるシナリオを想像できます。ユーザーに両方のタブでサイトにログインさせ、ソケットのようなものを使用して、サーバーを仲介者として使用して、あるタブから別のタブにデータをやり取りします。

于 2013-08-14T17:02:51.983 に答える
1

他のタブを所有している場合は、他のタブにブロードキャストし、他のタブがあなたのタブにブロードキャストして、それらの間に実用的なコミュニケーション チャネルを作成できます。

これはウィンドウ間メッセージングと呼ばれ、 を使用しますLocalStorage


自分がアクティブなタブであるかどうかを簡単に確認するには、 を使用する$(window).blur( ... )か、選択したライブラリを使用して同様の手法を使用します。

于 2013-08-14T17:08:45.960 に答える
1

両方のページが同じドメインにある場合は、Cookie を使用するか、HTML5 ではローカル ストレージを使用できます。

于 2013-08-14T17:06:24.743 に答える