我有一個在Web瀏覽器中運行的遊戲(如插件)和我想要做的是:從關閉到AJAX響應防止網頁瀏覽器返回
檢測,如果用戶已決定關閉瀏覽器(按Alt + F4,擊中的「X」按鈕等)從關閉
防止瀏覽器,而我們火到我們的網絡服務的調用來記錄用戶已經關閉了瀏覽器
一旦我們收到來自Web服務的響應,釋放鎖並允許瀏覽器按要求關閉。
我們想這樣做的主要原因是,我們有一些併發問題,並通過我們的記錄,我們要隔離的人註銷/從哪裏插件已崩潰真正的情況下關閉瀏覽器去。
我看着使用jQuery做這個(爲X瀏覽器的兼容性 - Opera將無法正常工作,但我們不會對任何歌劇反正用戶謝天謝地):
$(window).bind('beforeunload', function(e) {
e.preventDefault();
// make AJAX call
});
的問題是,該顯示器向用戶發送一個確認對話框('你確定要離開這個頁面'),用戶可以在發送AJAX呼叫之前確認該對話框。
所以問題是,有沒有辦法阻止瀏覽器關閉,直到收到響應?當頁面被改變時'beforeunload'也會被觸發 - 是否有一種區分點擊鏈接和實際點擊關閉的方法?
感謝任何幫助!
只是出於好奇......如果交換「preventDefault」和「make ajax call」部分,是否有區別? – hugomg 2012-01-05 13:34:54