2013-03-25 4 views
0

У меня есть небольшая веб-страница. Мне нужно, чтобы активировать функцию Ajax, когда браузер закрытКак использовать window.onbeforeunload?

Я, используя ниже JavaScript для этого в <head>

<script language="JavaScript" type="text/javascript"> 
window.onbeforeunload = confirmExit; 
    function confirmExit() 
    {  
    my ajax_function(); 
    return ""; 
    } 
</script> 

Но эта функция работает все в кнопки Назад, Вперед кнопки, ALT + f5, CTL + f5, повинуясь и т.д ... Но мне нужна эта функция только тогда, когда браузер закрыт

Но я стараюсь, как показано ниже на моей странице, чтобы блокировать такие события, как Назад кнопки, кнопки Вперед, ALT + f5, CTL + f5 , Отправить etc ...

<script type="text/javascript"> 
$(function() { 

$('a').click(function(){window.onbeforeunload = null;}); 
$(window).keydown(function(event) { 
    if (event.keyCode == 116) { // User presses F5 to refresh 
    window.onbeforeunload = null; 
    }}); 
$('form').submit(function() { 

    window.onbeforeunload = null; 
}); 

}); 

</script> 

Но это только для гиперссылки, обновления и отправки.

Что мне нужно это, window.onbeforeunload функция работает только when browser is closed

+0

http://stackoverflow.com/questions/6579509/how-to-collect-return-value-of-onbeforeunload – sasi

+0

Использование 'onbeforeunload' обычно является признаком плохой практики. Если бы я был, вы взгляните на свой код и попробуйте переписать его, не используя специальный код выхода onbeforeunload/any exit. – Undefined

ответ

0

JavaScript не различает между этими событиями, все они вызвали, так как пользователь покидает страницу.

+0

Существует любое другое решение для активации моей функции ajax_ при закрытии браузера/вкладки – user2097335