一尘不染

HTML5-跨浏览器iframe后消息-子级到父级?

html

我的问题是我需要它以相反的方式工作(子级到父级),并且不知道如何定位父级窗口。

这是我的接收方代码(在父级中)-

function handlingMsg(e)
{alert("works")
    if(e.origin == "http://uc.dialogue.net")
        {
                var blah = e.data;
                alert(blah);    
        }
        else{alert("error");}
}
addEventListener("message",handlingMsg, true);

这是由简单形式(在子级中)触发的发送方功能-

   var text=$('.srchInput').val();
   window.parent.postMessage(text, "http://uc.dialogue.net");

我应该以其他方式定位父母吗?

干杯保罗


阅读 306

收藏
2020-05-10

共1个答案

一尘不染

var eventMethod = window.addEventListener ? “addEventListener” : “attachEvent”;
var eventer = window[eventMethod];
var messageEvent = eventMethod == “attachEvent” ? “onmessage” : “message”;

// Listen to message from child window
eventer(messageEvent,function(e) {
    var key = e.message ? "message" : "data";
    var data = e[key];
    //run function//
},false);

可以与父页面中的上述内容以及子页面中的以下内容一起使用-

parent.postMessage("loadMyOrders","*");  //  `*` on any domain
2020-05-10