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

Javascript 在HTML5中,如何从一个窗口控制另一个窗口?,javascript,html,postmessage,Javascript,Html,Postmessage,在HTML5中,我试图从一个窗口控制另一个窗口。我希望这样,当我打开一个我登录的窗口和另一个我登录的窗口时,我可以从一个窗口单击一个按钮,然后在另一个窗口中发生一些事情。我不知道从哪里开始;有人能给我指出正确的方向吗?你不需要任何HTML5功能,但你可以用javascript轻松做到这一点: myNewWindow=window.open()打开一个新窗口,并将该新窗口的window-对象分配给myNewWindow,因此您可以使用myNewWindow-变量从打开脚本轻松访问新窗口的DOM 它

在HTML5中,我试图从一个窗口控制另一个窗口。我希望这样,当我打开一个我登录的窗口和另一个我登录的窗口时,我可以从一个窗口单击一个按钮,然后在另一个窗口中发生一些事情。我不知道从哪里开始;有人能给我指出正确的方向吗?

你不需要任何HTML5功能,但你可以用javascript轻松做到这一点:

myNewWindow=window.open()
打开一个新窗口,并将该新窗口的
window
-对象分配给
myNewWindow
,因此您可以使用
myNewWindow
-变量从打开脚本轻松访问新窗口的DOM

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


只需确保所有窗口的内容都是从同一个域加载的,因为javascript不允许您控制从另一个源加载的内容(有关此主题的更多信息,请参阅“同源策略”)。

此答案晚了6个月,但对于谷歌人(如我):

我会推荐WebSockets作为你想要做的事情Jonathan。WebSocket允许服务器将数据实时广播到为您的页面/站点打开的任何/所有浏览器窗口


浏览器支持目前还不完善,但有一些很好的方法可以让它在所有浏览器中高效运行。HTML5是一种用于定义文档结构的标记语言。你的问题是关于程序逻辑的。你应该提供更多相关信息。你说的“登录到窗口”是什么意思?你的意思是?登录到窗口只是一种识别你将控制的会话的方法。理想情况下,我希望在一个浏览器窗口中使用一个按钮,在另一个窗口中使用一个监听器来控制HTML5画布对象中的元素。希望这更清楚一点,我需要含糊一点,因为我不能透露太多,对不起,我认为克伦民族联盟是对的,幸运的是,我不能从同一帧调用它,另一个我可以控制的窗口可以在完全不同的机器或设备上打开。你不是在寻找HTML5功能——你需要一个基于服务器的系统将命令从一个设备推送到另一个设备。查看一个很好的系统来编写发布/订阅系统。在这种情况下,您可以使用重复的ajax请求轮询服务器以获取新命令(有用于这种方法的库)。或者,如果您明确要求使用HTML5功能,请熟悉WebSocket,它允许您打开服务器和客户端之间的双向连接。然而,并非所有浏览器都支持WebSocket。我一直在研究跨文档消息传递,但我不确定如果不在iframe或弹出窗口中打开页面,是否可以实现我想要的。tml5中的方法window.open()无法正常工作。。。你无法控制它的大小和位置。它将向您显示一个新的全屏窗口。我也遇到同样的问题@西蒙,你发现怎么解决了吗?