假设我有两个标签,每个标签都在不同的域上加载了网页。两个选项卡中的页面想要进行通信。
我能看到的最简单的解决方案是this one (我在搜索重复项时发现的一个密切相关的问题的答案),其中一个或两个页面加载了一个中间页面iFrame,代理postMessage()
和localStorage
个事件。但是,这确实需要在某个地方托管此页面,并且客户端需要额外的请求。
是否有任何技术可以要求专门的"代理页面"由其中一个域提供服务? (即,可以通过没有支持服务器的JavaScript库实现?)
答案 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.html到http://domoin2.com/child.html http://XXX---yourDomain--XXX到http://domoin2.com 首先,你运行http://domain1.com 然后单击“开始通信”按钮 如果你正确地遵循指示,你就会得到成功的握手信息。 然后你开始与两个标签进行内部沟通。
请使用此链接:https://github.com/amee9451/crossDomain-tab-communication