javascript postMessage event.data 以数字而不是字符串的形式返回



我有一个iframe,它希望向父页面发送一条简单的消息。 当我的父页面函数被调用时,我得到event.data,但它是一个数值,而不是一个字符串。

内嵌框架脚本

<script type="text/javascript">
function sendMessage(){
var message = "";
message = "Hello, I am an Iframe that has loaded";
parent.postMessage(message, '*');
}
</script>

网页上的脚本

<script>
function receiveMessage(event){
alert(event.data);
}
window.addEventListener("message", receiveMessage, false);
</script>

event.data 返回为 197。 有什么想法吗? 谢谢。

在 iframe 中添加代码,如下所示...

<script>
function sendHeight() {
var height= document.getElementById('pardot-form').offsetHeight;
window.parent.postMessage({
'height':height,
'location':window.location.href
}, '*');
}
window.onload = sendHeight;
window.onresize = sendHeight;
</script>

最新更新