Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Закрытие вкладки (https://javascript.ru/forum/misc/59644-zakrytie-vkladki.html)

yriiarutiunian 20.11.2015 13:58

Закрытие вкладки
 
Всем привет!
Подскажите как повесить событие на закрытие вкладки и только на закрытие?
Использую onbeforeonload - но он и на обновление и на переход вешается =(

yriiarutiunian 20.11.2015 14:37

Смог пока избавить только от внутреннего перехода вот так:
$( window ).on("beforeunload", function( event ) {
	if ( $( event.target.activeElement ).is("a") )
	{
		return;
	}
    return "Все несохраненные данные будут утеряны!";
});

Mess4me 20.11.2015 15:19

yriiarutiunian,
на закрытия вкладки в браузере?

yriiarutiunian 20.11.2015 15:21

Ну да, в браузере

yriiarutiunian 20.11.2015 15:44

Ребят, справился вот так очень хитропопа:
var refresh = false;

$( window ).on("beforeunload", function( event ) {
	var msg = "Все несохраненные данные будут утеряна!";
	
	if ( $( event.target.activeElement ).is("a") || refresh === true )
	{
		return;
	}
	
    return msg;
});

$( window ).keydown(function( event ){
        //F5 or Ctrl+R
	if ( event.keyCode == 116 || ( event.ctrlKey && event.keyCode == 82 ) )
		refresh = true;
});


Часовой пояс GMT +3, время: 07:46.