Перейти к содержимому

Сервис обмена электронных валют


Событие для window - закрытие окна (вкладки, страницы)

#1 Вячеслав

Вячеслав
  • Пользователь
  • 357 сообщений
  • Репутация: 0
0

Отправлено 29 Ноябрь 2011 - 14:06

Всем привет!
Написал модуль под джумлу, который при закрытии вкладки со страницей сайта, выводит предупреждающее сообщение, и форму в которой пользователь указывает причину ухода с сайта.
Сделано по принципу как здесь - http://stopexit.ru/

Вопрос в том как сделать так чтобы событие закрытия window работало именно при закрытии, а не при переходе по внутренним ссылкам меню сайта...

это код с событием для window на jquery

window.onbeforeunload = function(e){
	if($j.cookie('sendForm')==1){
		window.onbeforeunload = null;
	}else{
		e = e || window.event;
		// For IE and Firefox prior to version 4
		if(e){
			e.returnValue = _onbefore;
		}
		openForm();
		return _onbefore; // For Safari
	}

};

 

 

  • 0

#2 Вячеслав

Вячеслав
    Topic Starter
  • Пользователь
  • 357 сообщений
  • Репутация: 0

Отправлено 01 Декабрь 2011 - 19:13

Решение найдено!
Для всех ссылок при загрузке документа, присваиваем функцию по событию клика, в которой обнуляем событие для window onbeforeunload:



$j(document).ready(function(){
							
	$j('a').each(function(index,value){
		$j(this).click(function(){
			window.onbeforeunload = null;				
		});
	});
							
	...
	
	window.onbeforeunload = function(e){
		//alert(document.URL);
		if($j.cookie('sendForm')==1){
			window.onbeforeunload = null;
		}else{
			e = e || window.event;
			// For IE and Firefox prior to version 4
			if(e){
				e.returnValue = _onbefore;
			}
			openForm();
			return _onbefore; // For Safari
		}

	};
	
});

  • 0


Оформление форума – IPBSkins.ru