window.open возвращает значение NULL для событий Safari в iOS: скрытие страницы, выгрузка и загрузка до - PullRequest
0 голосов
/ 23 мая 2018

Я пытаюсь заставить всплывающее окно срабатывать, когда пользователь уходит с текущего URL.

window.open, похоже, возвращает null только на Safari iOS, все остальные браузеры (настольные и мобильные) работают нормально, если блокировщик всплывающих окон не активен.Это известная проблема?Если да, то есть ли обходные пути для получения всплывающего окна для события pagehide, unload или beforeunload?

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/

...