Я хочу открыть всплывающее окно, когда пользователь закрывает последнюю вкладку текущего сайта. Проблемы у меня есть то, чтовсплывающее окно javascript перед закрытием текущей вкладки
- , когда браузер запрашивает у пользователя (
onbeforeunload
возвращает значение не является нулевым), то всплывающее окно блокируется браузером (см случай 1 ниже) - , когда браузер не подскажите ничего пользователю (
onbeforeunload
ничего не возвращает), то всплывающее окно не открывается вообще, и, казалось, полностью игнорируется браузером (почему?) (см корпус 2 ниже)
случай 1: приглашение и всплывающее окно (код от this answer)
window.onbeforeunload = function (e) {
e = e || window.event;
window.open('http://localhost', '_blank');
// For IE and Firefox prior to version 4
if (e) {
e.returnValue = 'Sure?';
}
// For Safari
return 'Sure?';
};
Случай 2: нет подсказки, нет всплывающих, закрытие страницы "нормально"
window.onbeforeunload = function (e) {
e = e || window.event;
window.open('http://localhost', '_blank');
};
Браузеры блокируют их специально, так как они были чрезмерно использованы дерьмовыми механизмами рекламы или чтобы пользователи фактически не покидали страницы, которые они хотят покинуть. – spectras