Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

События «Выхода» в JS

364
07 октября 2008 года
Xupypr
148 / / 20.04.2000
Объясню, что я имею ввиду и что хочу получить в итоге..

Под событиями «Выхода», имею ввиду, любые события, подразумевающие закрытие страницы (закрытие окна, обновление окна, переход по ссылкам). Исключение составляет сабмит.

Вообщем-то что хочеться...

Пользователь редактирует в форме данные, все отредактировал, но не нажал сохранить (оно же сабмит формы), а например закрыл окно, кликнул по ссылке, нажал обновить ... надо это как-то отследить и выдать ему сообщение, мол вы не нажали сохранить, вы действительно хотите выйти без сохранения данных?? и 2 кнопки.. да и нет..

В принципе проверять реально ли он что-то менял или просто зашел посмотреть не надо... надо бы просто как-то отловить события "выхода"...
12
07 октября 2008 года
alekciy
3.0K / / 13.12.2005
window.open
window.close
windows.close in MDC
364
08 октября 2008 года
Xupypr
148 / / 20.04.2000
Это ж все методы управления, а надо отлавливать события.
352
08 октября 2008 года
skywalker
694 / / 10.02.2006
Код:
<html>
<head>
<script type="text/javascript">
window.onunload = function(){
    alert("close");
}
</script>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>

Но-моему это не работает в Опере, а вот в IE и Firefox да.
А в чем смысл использования для отлова события закрытия окна JS? Есть сессии.
352
08 октября 2008 года
skywalker
694 / / 10.02.2006
Или хочется сделать подобие блогов на Я.ру, где выдается предупреждения, когда начал писал комментарий, а потом передумал и решил закрыть окно?
352
08 октября 2008 года
skywalker
694 / / 10.02.2006
Можно сделать так:
Код:
<html>
<head>
<script type="text/javascript">
    window.onbeforeunload = function(e)
    {
        return confirm("Do you want close?");
    }

</script>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>

Но в Опере это все равно не работает.
364
08 октября 2008 года
Xupypr
148 / / 20.04.2000
Цитата: skywalker
Или хочется сделать подобие блогов на Я.ру, где выдается предупреждения, когда начал писал комментарий, а потом передумал и решил закрыть окно?


Совершенно верно. Именно этого и хочеться.

решил закрыть окно или перешел по ссылке

364
08 октября 2008 года
Xupypr
148 / / 20.04.2000
сделал через onbeforeunload... была проблема такая, при submit-е тоже выдавало сообщение... исправил путем обнуления события onbeforeunload при событие onsubmit.

конструкция return confirm("Do you want close?"); выдает 2 окна... вполне достаточно return "Do you want close?";

В Опере так же не пашет, но все же лучше, чем ничего.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог