2013-11-25 27 views
0

我想在有人點擊瀏覽器關閉按鈕時調用某個功能。我經歷了很多關於stackoverlow和google組的帖子和問題。但找不到完成此任務的方法。當有人點擊瀏覽器關閉按鈕時,我想發送一個Ajax請求。現在我正在使用window.onbeforeunload java腳本方法,但每次單擊鏈接或更改網頁時都會調用它。有人點擊瀏覽器關閉按鈕時的javascript或ajax功能

window.onbeforeunload = function() { 
alert("this method has been called") 
return "Hey, you're leaving the site. Bye!"; 
}; 

,但我想打電話只能在瀏覽器關閉按鈕click.Is方法有反正由我能趕上瀏覽器的關閉按鈕點擊事件?幫助將很可觀

+1

點擊鏈接設置的標誌,在onbeforeunload檢查該標誌。問題是刷新瀏覽器會觸發消息。如果您的計劃是這樣,所有現代瀏覽器都不會給您足夠的時間對服務器進行Ajax調用。 – epascarello

+1

另外,如果任何網頁給我一個彈出窗口,詢問我是否確定要離開網站,並且我沒有填寫表單或丟失數據的可能性,我永遠不會回來如果我能幫到的話,可以到那個頁面。以防萬一,注意可用性。 – Amadan

+0

一般不值得嘗試依靠瀏覽器關閉進行重要的數據調用....思考電源失敗!更何況跨瀏覽器處理是不一致的 – charlietfl

回答

0
window.onclick = function() { 
var win = window.open("/"); 
win.onload = function() { 
    console.log("onload"); 
    win.onunload = function() { 
     alert("Close onunload"); 
    } 
} 

}

Demo

-1
$(window).unload(function() { 
    alert("Handler for .unload() called."); 
}); 

您可以使用此代碼

+0

-1由於上述所有原因,不推薦使用-1卸載。 http://api.jquery.com/unload/ – charlietfl

相關問題