iframe跨域传值踩坑

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iframe跨域传值踩坑相关的知识,希望对你有一定的参考价值。

参考技术A 我在React项目中使用iframe加载angular项目的页面,想要传一串用户信息,由于跨域,采用了html5的新方法postMessage()。
花了很多时间,就是传不过去消息,然后angular本地服务也会发一条message,导致我误以为消息是通的,但是消息体不正确,origin也不正确,

网上翻了个遍也没有找到解决方法,在一次不经意的尝试中,我使用了setTimeout,延时3s,我靠,成功了;

总结原因就是必须等到iframe页面完全加载完,消息才能发送成功,我也尝试监听iframe的onload函数,但是始终不会执行。

注:纠正以上 “监听iframe的onload函数,但是始终不会执行”,必须获取到iframe元素进行监听,会成功的。

2020-10-29更新:

以上是关于iframe跨域传值踩坑的主要内容,如果未能解决你的问题,请参考以下文章

ajax跨域传值

js跨域传值,兼容ie8以上

ajax异步请求/同源策略/跨域传值

各位大侠我想问一下 iframeresizer.js 父页面和子页面怎么互调方法?(跨域)

iframe子页面js调用父页面中的控件报“拒绝访问”是啥原因,怎么解决?先声明不是跨域问题

layeriframe通过属性id传值