Javascript beforeunload中的postMessage失败
我发现,在Ionic 2浏览器的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
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按预期启动