iframe 向父窗口
window.parent.postMessage('向父窗口传递值',*);
父窗口向 iframe 内部子窗口传值
documnet.querySelector('iframe').contentWindow.postMessage('向iframe传递值',*);
接受信息
window.addEventList('message', (e) => {
console.log(e.data);
});
如果执行 e.data 不存在
window.addEventList('message', (e) => {
try{
if (e.data type e.data ==='string' ) {
console.log(e.data);
}
} catch (err) {
console.log(err)
}
});
注意传递dom结构高度
以vue为例,mounted 不一定dom都渲染完了,this.$nextTick(function () {...}) 也不定很有效解决,这时只能调用window.onload