Javascript beforeunload中的postMessage失败

Javascript beforeunload中的postMessage失败,javascript,events,iframe,ionic2,message,Javascript,Events,Iframe,Ionic2,Message,我发现,在Ionic 2浏览器的beforeunload窗口事件中调用postMessage()时,消息永远不会到达父级。如果在卸载或加载事件中发布了相同的消息,则会成功接收该消息。在JQuery中: $(window).on('beforeunload', function() { parent.postMessage('TheMessage', 'domain.com'); //NOT received by parent }); $(window).on('unloa

我发现,在Ionic 2浏览器的
beforeunload
窗口事件中调用
postMessage()
时,消息永远不会到达父级。如果在
卸载
加载
事件中发布了相同的消息,则会成功接收该消息。在JQuery中:

$(window).on('beforeunload', function() {
    parent.postMessage('TheMessage', 'domain.com');  //NOT received by parent
});     

$(window).on('unload', function() {
    parent.postMessage('TheMessage', 'domain.com');  //Received by parent
});

$(window).load(function(){
    parent.postMessage('TheMessage', 'domain.com');  //Received by parent
});
在这种情况下,我们是从一个IFrame发布到父网站,两个网页都由同一个所有者控制,但来自不同的域

这是预期的行为吗?我看到了,但没有看到关于
postMessage
的任何规则:

自2011年5月25日起,HTML5规范规定 可以使用window.alert()、window.confirm()和window.prompt()方法 在此事件中被忽略


在卸载前的
中是否有任何方法可以使用
postMessage

这只发生在iOS中,似乎无法更改。在Android中,beforeunload按预期启动