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

clo*_*eet 9 javascript postmessage cross-domain local-storage

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

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

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

and*_*y83 -1

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

例如。 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 或推送通知