Показать сообщение отдельно
  #4 (permalink)  
Старый 25.12.2014, 16:14
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
//код не мой: http://mattweb.ru/moi-raboty/item/107-js-skript-podtverzhdenie-zakrytiya-stranitsy
function Unloader(){

    var o = this;

    this.unload = function(evt)
    {
        var message = "Вы уверены, что хотите закрыть страницу?";
        if (typeof evt == "undefined") {
            evt = window.event;
        }
        if (evt) {
            evt.returnValue = message;
        }
        return message;
    }

    this.resetUnload = function()
    {
        $(window).off('beforeunload', o.unload);

         setTimeout(function(){
            $(window).on('beforeunload', o.unload);
        }, 1000);
    }

    this.init = function()
    {
        $(window).on('beforeunload', o.unload);

        $('a').on('click', o.resetUnload);
        $(document).on('submit', 'form', o.resetUnload);
		$(document).on('keydown', function(event){
			if((event.ctrlKey && event.keyCode == 116) || event.keyCode == 116){
				o.resetUnload();
			}
		});
	}
    this.init();
}

$(function(){
    if(typeof window.obUnloader != 'object')
    {
        window.obUnloader = new Unloader();
    }
})
</script>
<a href="#">Link</a>
<a href="#">Link</a>
<a href="#">Link</a>

Если щёлкать по странице (отправлять форму, F5), то ничего не происходит, а если закрыть, то произойдёт.
Ответить с цитированием