iframe子页面在跨域情况下使用父页面的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iframe子页面在跨域情况下使用父页面的方法相关的知识,希望对你有一定的参考价值。

参考技术A

项目中,iframe内部的子页面要使用父页面的方法,如果不跨域,那么直接通过parent.func()就可以直接调用了。但如果子页面和父页面跨域了,就需要用html5的postMessage方法来进行通信和传输数据,间接性的在父页面调用方法。
以子页面向父页面通信为例:
子页面中

父页面中这样接收

ie8兼容
1、绑定监听事件需兼容
由于ie8中不兼容addEventListener()这种事件监听方式,所以需要这样来绑定

2、子页面向父页面传的数据为json字符串,即JSON.stringify后的字符串内容
需要用window.eval() 或 new Function() 的方式解析 JSON 格式字符串。

以上是关于iframe子页面在跨域情况下使用父页面的方法的主要内容,如果未能解决你的问题,请参考以下文章

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

子iframe 怎么访问 父的 iframe方法

iframe子页怎么获取父页的window对象

iframe跨域获取父页面url

asp 网页 iframe 子页如何向父页回传参数

iframe实践小结:如何实现父页面向子页面传递数据