前端如何使得两个项目之间通信,window.open + postMessage

前端如何使得两个项目之间通信,window.open + postMessage

一、背景

由于公司内部需求不断加大,一个项目无法满足,多个项目直接需满足互相通信,则需要解决跨域传递消息的问题

二、两个项目之间如何通信,如何解决解决跨域传递消息

1. A.html ( https://www.a.com )

传递信息

2. B.html ( https://www.b.com )

三、坑点

1. onload (失败)

window.open('xxx').onload = () => {

window.postMessage(message, targetOrigin, [transfer]);

}

2. setTimeout (失败,由于B网站不一定什么时候加载完成)

setTimeout(() => window.postMessage(this.userSession, targetUrl), 3000);

3. setInterval(成功,A网站定时器不断发送消息,当B网站接收到信息后,向A网站回复消息为已收到,关闭A网站的定时器)

let timeOfmsg = setInterval(() => {

winopen.postMessage(this.userSession, targetUrl);

}, 3000);

相关推荐

全面了解红猫v2ray官网及其使用
求正规英国365网址

全面了解红猫v2ray官网及其使用

📅 08-27 👁️ 4465
抖音回应陈芋汐被网暴:已全面清理
求正规英国365网址

抖音回应陈芋汐被网暴:已全面清理

📅 08-21 👁️ 3787
游侠法师 拉克丝
网上365bet

游侠法师 拉克丝

📅 01-12 👁️ 7710
当你的狗狗闷闷不乐:掌握这五个关键信号,成为它的情绪救星
快穿之如何疼爱
求正规英国365网址

快穿之如何疼爱

📅 11-12 👁️ 8987
《王者荣耀》暃连招公式攻略图文 暃连招技巧攻略
求正规英国365网址

《王者荣耀》暃连招公式攻略图文 暃连招技巧攻略

📅 08-24 👁️ 6055