跨域 Iframe 通信解决方案,兼容主流和 IE 系列浏览器。
☏
// 初始化父页面的信使
var messenger = new Messenger('parent', 'MessengerProject');
// 绑定子页面 iframe
messenger.addTarget(iframe1.contentWindow, 'iframe1');
messenger.addTarget(iframe2.contentWindow, 'iframe2');
// 给子页面发消息
messenger.targets['iframe1'].send('发给子页面1的消息');
// 或者给所有子页面发消息
messenger.send('发给所有子页面的消息');
// 初始化子页面的信使
// 注意,第二个参数 `MessengerProject` 必须和父页面的信使保持一致,
var messenger = new Messenger('iframe1', 'MessengerProject');
// 绑定父页面
messenger.addTarget(window.parent, 'parent');
// 给父页面发消息
messenger.targets['parent'].send('发给父页面的消息');
本组件源码来自 https://github.com/biqing/MessengerJS 。
文档亦可参考 biqing/MessengerJS 。