我有两个窗口:窗口 A 和窗口 B。
- 窗口 A 和窗口 B 具有相同的域
- 窗口 A 和窗口 B 没有任何父窗口。
- 窗口 A 是否有可能获得窗口 B 的引用?
- 让窗口 A 通知窗口 B 的最优雅的方法是什么?(包括新的 HTML5 规范)
我知道这样做的两种方法:
- 服务器消息传递:窗口 B 定期询问服务器窗口 A 是否通知了某些内容
- 通过本地数据发送消息 (HTML5):当窗口 A 想要通知某事它更改了本地数据时,窗口 B 会定期检查本地数据是否有任何更改。
但这两种方式都不是那么优雅。
例如,最好获取窗口 B 的引用并使用 window.postMessage() (HTML5)
最终目标是制作类似于 Facebook 的东西,如果您打开四个 Facebook 选项卡并在一个选项卡中聊天,则每个 Facebook 选项卡中的聊天都是最新的,这很整洁!