2013-02-22 78 views
0
window.onbeforeunload(function() { 
     return "Are you sure?" ; 
}); 

我想在頁面被卸載之前執行一個AJAX調用,有沒有其他的方式來實現這一點,因爲這不起作用? 等待,thankss :)查詢window.onbeforeunload

+0

你的JavaScript需要實時行情'「''不'"什麼 – 2013-02-22 17:44:21

回答

0

如果你想在頁面卸載時運行一個函數,你可以嘗試$(window).unload(),但是它不能阻止頁面卸載或者重定向用戶。另外,一些瀏覽器在卸載時阻止警報。

$(window).unload(function(){ 
    $.ajax({url:"http://localhost:80/ajax.php?", async:false}); 
    alert('Bye.'); 
}); 

但最好的辦法是做這樣的事情:

$(window).bind('beforeunload', function(){ 
    $.ajax({url:"http://localhost:80/ajax.php?", async:false}); 
    return 'Are you sure you want to leave?'; 
}); 

//我在IE9,Chrome瀏覽器和Firefox測試這和Ajax調用每次成功發射。

JSFiddle example

此外,如果你正在做的頁面卸載一個Ajax請求嘗試設置異步爲false:

$.ajax({url:"http://localhost:80/ajax.php?", async:false}); 
0

試試這個:

window.onpagehide(function() { 
    return "Are you sure?"; 
} 

希望這將幫助!

+0

瀏覽器。支持 – mplungjan 2013-02-22 18:01:32