在父页面中识别iframe按钮操作

时间:2019-11-21 14:38:46

标签: javascript jquery iframe

我想在父窗口的iframe中识别按钮单击动作。为此,我使用了Window.postMessage。但是无法接收到我的父窗口的任何数据。以下是我的代码。

父页面:

$(window).on('message', function(e){
  console.log('parent received message!:  ',e.data);
});

iframe页面代码:

HTML:

<input type='button' id='btn_end' value='End'>

JS:

$('#btn_end').on('click', function()
{    
    parent.postMessage("end","https://www.parentdomain.com");     
}

已检查控制台日志。没有原始问题或脚本错误。请帮忙。

1 个答案:

答案 0 :(得分:3)

您必须创建事件列表器才能接收消息。在此处检查url

尝试以下代码:

var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent";
var eventer = window[eventMethod];
var messageEvent = eventMethod === "attachEvent" ? "onmessage" : "message";
eventer(messageEvent, function (e)
{

        Console.log(e.data);

});