Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Закрытие странички


Автор: morpheyushka 30.12.2011, 12:46
Добрый день.
Всех с наступающими праздниками.

В JavaScript я еще тот новичок, по этому прошу помощи тут.

Теперь о проблеме. Есть сайт, на котором есть страничка регистрации.
Поставили задачу, что если пользователь зашел на эту страницу и по каким то причинам не прошел процедуру регистрации (нажал кнопку Back, ввел другой url в поле адреса, закрыл страничку в браузере и т.д.), то открыть ему новое окно с анкетой в которой по желанию он указывает причину отказа.

Пробовал вешать на обработчик onbeforeunload, onunload но такой метод работает только в IE.
Код

<html>
<head>
<title>Test page</title>
<script  language="Javascript">
<!--
var exit=true;
function  exitcon() { 
    if (exit) {
        window.open("http://www.site.com/anketa.html");
        window.focus();
    }
}

</script>
</head>
<body  onbeforeunload="exitcon()">
Bla bla bla...
</body>
</html>


Но если сделать так, то такое заработает и в мозиле:
Код

<html>
<head>
<title>Test page</title>
<script  language="Javascript">
<!--
function  exitcon() { 
    alert("close!");
}

</script>
</head>
<body  onbeforeunload="exitcon()">
Bla bla bla...
</body>
</html>


Что можете посоветовать по этому поводу?

Автор: $дмитрий 30.12.2011, 13:28
В FF всплывающие окна по умолчанию блокируются, поэтому при нажатии кнопки "Уйти со страницы" окно просто закроется

Автор: ksnk 30.12.2011, 14:54
onbeforeunload обязан вернуть СТРОКУ, которая будет выведена в стандартном окне с кнопками Да-Нет. В случае, если ответ Да - окно закроется, Нет - не закроется. Что-либо, отличное от непустой строки - и окно будет закрыто без предварительного предупреждения.

Добавлено через 2 минуты и 19 секунд
Цитата(morpheyushka @  30.12.2011,  12:46 Найти цитируемый пост)
нажал кнопку Back, ввел другой url в поле адреса, закрыл страничку в браузере и т.д.), то открыть ему новое окно

Такое поведение (открытие нового оокна с новой информацией в ответ на попытки выхода) характерно для порнобанеров. Советую обратить внимание заказчика на это или сменить сферу деятельности  smile  

Автор: morpheyushka 4.1.2012, 13:53
Решили отказаться от этой идеи, так как она работает только в IE.

Спасибо за ответы

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)