nunload中的邮政在术后失败



我看到,当在离子2浏览器中的beforeunload窗口事件中调用postMessage()时,该消息永远不会到达父。如果在unloadload事件中发布了相同的消息,则将成功收到。在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发布到父母,两个网页均由同一所有者控制,但来自不同的域。

这是预期的行为吗?我看到beforeunload中不允许alert,但没有看到有关postMessage的任何规则:

自2011年5月25日以来,HTML5规范指出了调用 window.alert((,window.confirm((和window.prompt((方法可能是 在此活动中被忽略。

有什么方法可以在beforeunload中使用postMessage

这仅在iOS中发生,似乎没有办法更改它。在Android中,如预期的那样,将nunload解雇。

相关内容

  • 没有找到相关文章

最新更新