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

标签 javascript jquery asp.net-mvc browser

<分区>

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

现实世界的例子:

Google 在 Gmail 中使用了此行为.在撰写新消息时,如果您单击“收件人”链接,它会在新的浏览器窗口中显示您的联系人列表。这使原始撰写电子邮件窗口打开并处于事件状态以供输入,而用户可以随时从联系人列表中选择电子邮件收件人。当他们提交该窗口时,所选电子邮件地址将添加到原始撰写窗口的收件人列表中。

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

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

最佳答案

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

假设您使用 JavaScript 打开了一个新窗口。在打开的窗口中,您可以执行以下操作:

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

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

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

关于javascript - 您如何在两个浏览器选项卡/窗口之间进行通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4167965/

相关文章:

javascript - 将不相同的对象添加到数组中

javascript - 如何在 slickgrid 中显示行号列?

javascript - HTML 自动刷新页面但先检查连接

javascript - 可折叠菜单需要最终调整(jquery)

asp.net-mvc - mvc 编辑器模板结果被缓存

javascript - Google Map API V3 无法在 polymer 元素内部工作

jquery - 用户点击后如何渲染部分 View (使用 Razor )?

javascript - 尝试使用 jQuery/JavaScript 构建递归函数

c# - Asp.net mvc Sp​​ecified UserAgent no session Id

asp.net-mvc - Html.DropDownList 和模型绑定(bind)