window.open在iOS safari事件中返回null:pagehide,unload和beforeunload

时间:2018-05-23 20:02:23

标签: javascript ios events safari window.open

当用户导航离开当前网址时,我试图触发一个弹出窗口。

window.open似乎只在safari iOS上返回null,其他浏览器(桌面和移动设备)似乎工作正常,因为弹出窗口阻止程序不活动。  这是一个已知的问题?如果有,可以在pagehideunloadbeforeunload事件上获取弹出窗口吗?

window.addEventListener('pagehide', function () {
    // window.open("https://www.google.com", "_blank", "toolbar=yes,scrollbars=yes,resizable=yes,top=500,left=500,width=400,height=400");
    var myWindow = window.open("", "");
    myWindow.document.body.innerHTML = "pagehide";
});
window.addEventListener('unload', function () {
    // window.open("https://www.google.com", "_blank", "toolbar=yes,scrollbars=yes,resizable=yes,top=500,left=500,width=400,height=400");
    var myWindow = window.open("", "");
    myWindow.document.body.innerHTML = "unload";
});
window.addEventListener('beforeunload', function () {
    // window.open("https://www.google.com", "_blank", "toolbar=yes,scrollbars=yes,resizable=yes,top=500,left=500,width=400,height=400");
    var myWindow = window.open("", "");
    myWindow.document.body.innerHTML = "beforeunload";
});

我在这里创造了一个简单的小提琴: https://jsfiddle.net/ovidubs/2cdas6vj/

0 个答案:

没有答案