ウィンドウAとウィンドウBの2つのウィンドウがあります。
- ウィンドウ A とウィンドウ B は同じドメインを持っています
- ウィンドウ A とウィンドウ B には親ウィンドウがありません。
- ウィンドウAがウィンドウBの参照を取得することは可能ですか?
- ウィンドウAにウィンドウBに何かを通知させる最もエレガントな方法は何ですか? (新しい HTML5 仕様を含む)
私がこれを行うことを認識している2つの方法:
- サーバーによるメッセージング: ウィンドウ B は、ウィンドウ A が何か通知したかどうかをサーバーに定期的に尋ねます。
- ローカル データによるメッセージング (HTML5): ウィンドウ A がローカル データを変更したことを通知したい場合、ウィンドウ B は定期的にローカル データの変更をチェックします。
しかし、2 つの方法はそれほどエレガントではありません。
例えば、window B の参照を取得して window.postMessage() (HTML5) を使うと良いでしょう。
最終的な目標は、4 つの Facebook タブを開いて 1 つのタブでチャットすると、Facebook のすべてのタブでチャットが最新の状態になる Facebook のようなものを作ることです。