如何在HTML5中控制另一个窗口?

时间:2011-02-08 09:19:57

标签: javascript html5 postmessage

我正试图在HTML5中控制另一个窗口。我喜欢它,所以当我打开一个我登录的窗口,然后我登录的另一个窗口,然后从一个窗口我可以单击一个按钮,其他窗口中会发生一些事情。我不知道从哪里开始;有人能指出我正确的方向吗?

3 个答案:

答案 0 :(得分:9)

您不需要任何HTML5功能,但您可以使用javascript轻松完成:

myNewWindow = window.open()打开一个新窗口并将window - 该新窗口的对象分配给myNewWindow,这样您就可以使用{从开头脚本轻松访问新窗口的DOM {1}}。 - 可变

它也有另一种方式:在新窗口的脚本中,您可以使用myNewWindow来访问打开窗口的window.opener - 对象和DOM。

请确保所有Windows的内容都是从同一个域加载的,因为javascript不允许您控制从其他来源加载的内容(有关此主题的更多信息,请参阅“相同的原始策略”)。< / p>

答案 1 :(得分:2)

这个答案迟了6个月,但对于Google员工(像我一样):

我会建议您使用WebSockets来做Jonathan。 WebSockets允许服务器将数据广播到实时为您的页面/站点打开的任何/所有浏览器窗口。

浏览器支持目前是quite poor,但有很好的垫片可以非常高效地在所有浏览器中运行。 Socket.io就是这样一种解决方案,我已经习以为常。

答案 2 :(得分:-1)

我认为浏览器中的JavaScript引擎应该允许打开的窗口(来自不同的URL /服务器)并像人一样使用新网站。

例如,如果我在站点A上引用站点B上博客的特定段落,我应该能够根据站点B的布局/ css的位置插入虚拟<a name="">属性以向下滚动页面到段落。