2013-03-25 62 views
0

我有一個小的網頁。我需要激活我的AJAX功能關閉瀏覽器時我用下面的JavaScript,在<head>如何使用window.onbeforeunload?

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

但此功能都在後退按鈕,前進按鈕,ALT + F5,CTL + F5鍵,提交等...但我只需要關閉瀏覽器時

這個功能,但我試着像下面在我的網頁阻止像後退按鈕,前進按鈕,ALT + F5,CTL + F5事件,提交等...

<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 2013-03-25 08:43:03

+0

使用'onbeforeunload'通常是不好的做法的標誌。如果我是你看看你的代碼,並嘗試重寫它,而不必使用'onbeforeunload' /任何退出特定的代碼。 – Undefined 2013-03-25 08:47:47

回答

0

JavaScript沒有這些事件之間區分,它們都觸發,因爲用戶離開頁面。

+0

當瀏覽器/標籤頁關閉時,還有其他解決方案可以激活我的ajax_function – user2097335 2013-03-25 09:06:16