Uncaught (in promise) DOMException: Failed to execute ‘postMessage‘ on ‘Window‘: [object Object]
·
前言
提示:记录的大概内容:
背景介绍: 当前项目是一个由angular重构为vue的类型,在angular界面中,开发vue的功能,并通过iframe的方式嵌入到我们的angular项目中。
我在子界面找那个想调用父界面的组件,传入信息,处理数据。子界面中通过
window.parent.postMessage({
data: data
})
传递信息到父界面。
但是,我在子界面中(这个是嵌入的iframe界面),想向父界面传递消息的时候,报错,父界面无法正常接收
Uncaught (in promise) DOMException: Failed to execute 'postMessage' on 'Window': [object Object] could not be cloned. at Object.eval [as successCB]
提示:以下是本篇文章正文内容,下面案例可供参考
一、报错?
Uncaught (in promise) DOMException: Failed to execute ‘postMessage’ on
‘Window’: [object Object] could not be cloned. at Object.eval [as
successCB]
二、解决步骤
我这里是因为,我传递的数据是一个对象,我讲对象转为String之后,就可以正常的传递信息,但是我在父界面,拿到这个信息的时候,就需要自己转义一下。
这里简单的给出我的解决方法,后续有时间再进行研究。
//子界面iframe界面传递信息给调用这个iframe的界面
window.parent.postMessage({
data: JSON.stringify(data)
})
在这里插入代码片
总结
提示:这里对文章进行总结:
主要是对postMessaga的传递信息的一些结构化的理解,需要加深
更多推荐
已为社区贡献3条内容
所有评论(0)