最近要做消息iframe消息嵌套,这个功能做了很多次了。只是没有写笔记。导致后面又忘记了。在这里我直接找他们的代码,真把我给坑惨了。
这个不知道是那个 卧龙凤雏 写的代码不知道要坑多少人。window.postMessage('Hello from iframe A', 'http://www.example.com');
明明就一个参数搞定,非要搞两个参数误导别人。第二个参数是消息发送到哪里去,这不废话吗?当然是iframe嵌套里面的页面呀,还发送到哪里去?
这里要注意:iframe里嵌套进来的页面必须要支持跨域才行
A页面
window.onload = function() {
var iframe = document.getElementById('a')
iframe.onload = function() {
iframe.contentWindow.postMessage('就这一个参数不就好了吗?')
}
}
window.addEventListener('message', function(event) {
console.log('接收消息: ' + event.data);
}
b页面
window.parent.postMessage('向父窗口发送消息,一个参数不就可以了吗?');
window.addEventListener('message', function(event) {
console.log('接收消息: ' + event.data);
}
这就是子页面发送父页面消息,带上了parent而已。
父页面发送子页面消息获取contentWindow然后再调用消息发送方法就可以了。
其他发送消息函数与监听消息函数都是一样的。