【发布时间】:2013-01-18 16:06:09
【问题描述】:
可能重复:
How to execute ajax function onbeforeunload?
How to capture browser close event and make a request to web service method on that event through javascript
所以现在这就是我的 onbeforeunload 的样子
window.onbeforeunload = function (e) {
var message = "Don't close me!",
e = e || window.event;
// For IE and Firefox
if (e) {
e.returnValue = message;
}
// For Safari
return message;
};
所以这就是我想要做的,这个函数会触发并提示他们选择是否离开页面。当且仅当他们决定离开时,我需要触发 GET 请求以关闭数据库记录。
如果我这样设置,则通过测试:
window.onbeforeunload = $.get("url_here")
这是一个简单的解决方法,但是现在我无法获得提示,并且窗口在没有警告的情况下关闭。
我也尝试添加一个带有确认功能的功能,但它似乎无法正常工作。例如
window.onbeforeunload = function(e){
if(confirm("Are you sure?")){
$.get("url_here");
return true;
}
}
这个变得更奇怪了,但是在大多数情况下,它只会导致一条消息弹出一个带有是/否提示的文字文本(“true”)。
【问题讨论】:
-
你不能可靠地做到这一点。
-
+1 SLaks。可能会有答案指出如何做到这一点,但它们并不总是有效。您必须执行其他操作,例如在用户更改数据时保存数据。
-
async false 只要请求在第一秒左右到达服务器就可以工作
标签: javascript jquery html