iframe和父页面相互传值,并兼容跨域问题.(项目实测成功) from accessing a cross-origin frame

   日期:2020-04-29     浏览:144    评论:0    
核心提示:项目背景:部署本地服务器项目,后台管理系统内需要用iframe嵌入另一个功能项目,需要能够互相传值进JavaScript

 

 

项目背景:

部署本地服务器项目,后台管理系统内需要用iframe嵌入另一个功能项目,需要能够互相传值进行操作

 

问题:

       

          翻译之后是跨域了,因为浏览器的同源策略问题

 

解决方法:

          1:父页面向子iframe传值

(在父页面的js里获取到iframe,然后向iframe传值,然后这么写就行了,第一个参数是需要传的数据,也可以是对象)

 var frame = document.getElementsByClassName('interfaceEditor')[0];
 frame.contentWindow. postMessage ("数据", '*');

(在子iframe的js里监听获取父页面传的值)

window. addEventListener ('message', function(event) {
    //event.data获取传过来的数据
  console.log(event.data)
});

 

              2:子iframe向父页面传值

(在子iframe里面这么写.   data是数据,  第二参数是你父页面的地址)

 window.parent.postMessage(data,'http://localhost:8080/');

(在父页面这么写,e.data就是子页面传的数据.)

window.addEventListener('message',function(e){
    var Date=e.data;
    console.log(Date)
},false);

 

项目实测成功

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服