ReceiveMessage事件将数据显示为未定义

时间:2014-06-22 12:21:57

标签: javascript jquery iframe

我有一个iframe,其中有一个JavaScript函数:

  function callParent(){
    parent.postMessage('closeModal','*');   
    return true;
  }

我主页中的其他JavaScript函数:

$(window).on('message',function(e){
console.log(e);
});

它正在打印e但是在e.data中它是未定义的。我期待数据将是一个字符串'closeModal'。

如何从iframe获取消息字符串?

1 个答案:

答案 0 :(得分:0)

您传递的数据在

e.originalEvent.data

在主页面上:

$(window).on('message',function(e){
  console.log(e.originalEvent.data);
});

Pointy注释时,jQuery会创建自己的事件对象。

如果您没有使用jQuery,那么

window.onmessage = function(e){
    console.log(e.data);
};