对postMessage的进一步封装
原生postMessage几个痛点:
- 需要手动在window对象绑定message事件
- 定制化的事件需要再次封装
适用场景:
iframe嵌套下的父子通信,父子iframe通信
API
let pm = new PostMessage()
初始化pm对象,默认监听ping事件
on (eventName, callback)
定制化的事件监听
pm
emit (eventName, message, [url])
默认向上发射事件,也可以定制发射的url(可选:window href)
pm;
broadcast (eventName, message)
向下广播事件
pm;