【发布时间】:2011-01-15 06:17:11
【问题描述】:
我有两个窗口:窗口 A 和窗口 B。
- 窗口 A 和窗口 B 具有相同的域
- 窗口 A 和窗口 B 没有任何父窗口。
- 窗口 A 是否可以获取窗口 B 的引用?
- 让窗口 A 通知窗口 B 的最优雅的方法是什么? (包括新的 HTML5 规范)
我知道这样做的两种方式:
- 服务器消息:窗口 B 定期询问服务器窗口 A 是否通知了某些内容
- 本地数据消息传递 (HTML5):当窗口 A 想要通知某事它更改了本地数据时,窗口 B 会定期检查本地数据是否有任何更改。
但是这两种方式都不是那么优雅。
例如,最好获取窗口 B 的引用并使用 window.postMessage() (HTML5)
最终目标是制作类似于 Facebook 的东西,如果您打开四个 Facebook 选项卡并在一个选项卡中聊天,则每个 Facebook 选项卡中的聊天都是最新的,这很整洁!
【问题讨论】:
-
stackoverflow.com/questions/19125823/… 目前 intercom.js 是选项卡之间共享单个套接字的最佳选择。
-
@Gothdo:如果在另一个问题之前已经问过,这怎么可能是重复的?
-
@brillout.com meta.stackoverflow.com/q/251938/3853934
标签: javascript html web-applications local-storage postmessage