iframe跨域问题解决方法之postMessage

Jsp页面使用iframe嵌入子页面,父页面与子页面协议、域名(IP)、端口不一致时会存在跨域问题,导致主页不能直接访问子页的内容。

解决方法:使用postMessage(IE10 +)在父页面与子页面之间传递数据

例如:父页面要访问子页面js方法

1、在主页将参数通过postMessage传递到子页面:

frame.window.postMessage({id:'test'},'*');//frame为iframe对象

 

2、在子页面接收数据,再调用js方法:

addEventListener('message', function(e){

    alert(e.data.id );
   //调用相应js方法
});

 

 

你可能感兴趣的:(iframe跨域问题解决方法之postMessage)