父子iframe通信问题

主页面





主页面


    

主页面

主页面接收消息区域

子iframe





子页面


    

子页面

接收消息区域

总结:iframe通信主要使用到了postMessage方法,使用方法为:
otherWindow.postMessage(message, targetOrigin, [transfer])
otherWindow:其他窗口的引用,如 iframe的contentWindow、执行window.open返回的窗口对象、或者是命名过或数值索引的window.frames。
message:将要发送到其他window的数据。
targetOrigin:指定哪些窗口能接收到消息事件,其值可以是字符串 “*” 表示无限制,或者是一个URI。
transfer:是一串和message同时传递的Transferable对象,这些对象的所有权将被转移给消息的接收方,而发送方将不再保留所有权。

postMessage方法被调用时,会在所有页面脚本执行完毕之后像目标窗口派发一个 MessageEvent 消息,该MessageEvent消息有四个属性需要注意:

type:表示该message的类型
data:为 postMessage 的第一个参数
origin:表示调用postMessage方法窗口的源
source:记录调用postMessage方法的窗口对象

你可能感兴趣的:(父子iframe通信问题)