使用postMessage在不同iframe间跨域传递消息

iframe同源策略

如果父窗口访问一个不同域名的子窗口就会报错:
Uncaught DOMException: Blocked a frame with origin "xxx" from accessing a cross-origin frame.
如何解决呢?一个简单的思路就是,既然是因为不同源,那么再建一个同源的窗口不久可以了吗?一个同源的子窗口能读取父窗口无法访问的子窗口的内容,然后通过postMessage传递给父窗口就可以了。

创新互联专注于共青城企业网站建设,响应式网站设计,电子商务商城网站建设。共青城网站建设公司,为共青城等地区提供建站服务。全流程按需求定制制作,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

//http://app1.test.local/frame_exec.html
window.onload=function(){
    var h2_content=parent.window.frames['app1'].document.getElementById('frameTitle').innerHTML;
    parent.postMessage({name:'tom',content:h2_content},'http://app2.test.local');
};

This is a content in cross domain iframe!





新闻名称:使用postMessage在不同iframe间跨域传递消息
浏览路径:http://azwzsj.com/article/iihoes.html