如何在2个浏览器选项卡/窗口之间进行通信?

Jus*_*tin 8 javascript browser asp.net-mvc jquery

我有一个Web应用程序,它在新的浏览器窗口/选项卡中作为第二个Web应用程序启动.我想在用户在第二页上提交输入时更新原始页面上的内容.

真实世界示例:Google在GMail中使用此行为.在撰写新邮件时,如果单击"收件人"链接,则会在新的浏览器窗口中显示联系人列表.这使得原始撰写电子邮件窗口打开并激活以进行输入,同时用户可以随时从联系人列表中选择电子邮件收件人.当他们提交该窗口时,所选的电子邮件地址将添加到原始撰写窗口中的收件人列表中.

这是如何完成的?我想可以使用AJAX完成,但理想情况下,该解决方案将避免通过服务器路由它所需的往返/编程逻辑.

作为参考,我的技术堆栈是一个ASP.NET MVC应用程序,它启动了第二个包含Silverlight应用程序的ASP.NET MVC应用程序.两个应用程序都可以/确实使用jQuery.

谢谢你的帮助.

Ami*_*far 10

我不认为你的意思是两个标签.Gmail正在做的是在弹出窗口和父窗口之间进行通信.

所以假设您使用javascript打开了一个新窗口.在打开的窗口中,您可以:

opener.someFunction()传回数据.让我找一个可靠的例子并粘贴它.

编辑:这是一个很好的例子.http://www.javascriptkit.com/javatutors/remote2.shtml

你可以使用开瓶器做很多事情.