合作页面之间的跨域,交叉标签通信

时间:2014-12-01 18:10:16

标签: javascript cross-domain local-storage postmessage

假设我有两个标签,每个标签都在不同的域上加载了网页。两个选项卡中的页面想要进行通信。

我能看到的最简单的解决方案是this one (我在搜索重复项时发现的一个密切相关的问题的答案),其中一个或两个页面加载了一个中间页面iFrame,代理postMessage()localStorage个事件。但是,这确实需要在某个地方托管此页面,并且客户端需要额外的请求。

是否有任何技术可以要求专门的"代理页面"由其中一个域提供服务? (即,可以通过没有支持服务器的JavaScript库实现?)

3 个答案:

答案 0 :(得分:0)

该javascript库似乎可以提供您正在寻找的功能(即,支持浏览器标签之间的跨域通信)。我还没有使用过,但是会在我的应用程序中尝试一下。检出https://github.com/wingify/across-tabs

答案 1 :(得分:-1)

我可能选择创建一个后端API服务作为两个不同网站之间的通用通信隧道。

EG。 Site-A send a POST message to https://your-API-service When Site-B asks for an update to https://your-API-service Then API service returns the message previously sent from Site-A 如果您需要实时通信,您还可以使用WebSockets或推送通知

答案 2 :(得分:-2)

跨域标签通信 听说我们需要两个不同的域名。 假设

http://domain1.com http://domoin2.com

请改变 http://XXX---yourDomain--XXX/child.htmlhttp://domoin2.com/child.html http://XXX---yourDomain--XXXhttp://domoin2.com 首先,你运行http://domain1.com 然后单击“开始通信”按钮 如果你正确地遵循指示,你就会得到成功的握手信息。 然后你开始与两个标签进行内部沟通。

请使用此链接:https://github.com/amee9451/crossDomain-tab-communication