// 父页面
useEffect(() => {
previewAddEvent();
}, [window]);
const showModalCb = (data) => {
if (data.data) {
try {
const jsonParse = JSON.parse(data.data)
if (jsonParse && jsonParse.postType === 'preview') {
console.log(jsonParse, typeof jsonParse);
setPopData(jsonParse); // 弹窗数据传参
setShow(true); // 是否显示弹窗
}
} catch (e) { }
}
}
const previewAddEvent = () => {
const domI: any = window;
// 监听message事件
try {
if (domI.addEventListener) {
domI.addEventListener('message', (data) => { showModalCb(data) }, false)
} else {
domI.attachEvent('onmessage', (data) => { showModalCb(data) })
}
} catch (err) {
console.log(err)
}
}
标签
<iframe className={styles.yIframe} src={mySrc} id="previewIframe" frameBorder="0"/>
弹窗:
略....
子页面给父页面传参:
widow.parent.postMessage(JSON.stringify(item), '*')