這是一個簡單的工作示例。無論你return
從unload
回調將顯示在瀏覽器彈出確認。
工作實例發送Ajax請求之前卸載 http://jsfiddle.net/alexflav23/hujQs/7/
要做到這一點最簡單的方法:
window.onbeforeunload = function(event) {
// do stuff here
return "you have unsaved changes. Are you sure you want to navigate away?";
};
jQuery中:
$(window).on("beforeunload", function() {
$.ajax("someURL", {
async: false,
data: "test",
success: function(event) {
console.log("Ajax request executed");
}
});
return "This is a jQuery version";
});
查找到的網絡選項卡瀏覽器。您將看到如何按照您的要求發送請求。只需發送適當的數據。
請記住,所有觸發的操作都必須是同步的,因此您只能爲同步發送同步ajax請求。但是,上述內容對於任何目的都不完全可靠。
選擇定期備份用戶數據至localStorage
並自動與服務器同步。保持window.onbeforeunload
只是一種額外的預防措施,但不是一個主要機制。衆所周知會造成問題。
你想在卸載時做什麼? – writeToBhuwan 2013-04-10 12:02:41
我需要對PHP進行Ajax調用以取消設置會話變量。 – 2013-04-10 12:03:47
'通過點擊鏈接導航'這表明你必須綁定文檔 – muneebShabbir 2013-04-10 12:04:00