Javascript 在“onbeforeunload”函数中发出GET/POST请求

Javascript 在“onbeforeunload”函数中发出GET/POST请求,javascript,jquery,angularjs,dom-events,onbeforeunload,Javascript,Jquery,Angularjs,Dom Events,Onbeforeunload,我想在用户离开页面时发出HTTP POST甚至GET is fine请求。 我尝试使用“onbeforeunload”“unload”事件侦听器来监视用户何时重定向到其他不同的页面 是否有任何方法可以检查用户是否在默认的“onbeforeunload”确认框中单击了“离开”或“停留”按钮? 我只想在他单击“离开”按钮时调用函数发出请求 我怎样才能做到这一点呢?你可以试试 window.onunload 该功能取决于浏览器 有window.onbeforeunload和window.onunlo

我想在用户离开页面时发出HTTP POST甚至GET is fine请求。 我尝试使用“onbeforeunload”“unload”事件侦听器来监视用户何时重定向到其他不同的页面

是否有任何方法可以检查用户是否在默认的“onbeforeunload”确认框中单击了“离开”或“停留”按钮? 我只想在他单击“离开”按钮时调用函数发出请求

我怎样才能做到这一点呢?

你可以试试

window.onunload
该功能取决于浏览器

有window.onbeforeunload和window.onunload,根据浏览器的不同使用不同

onunload或onbeforeunload无法将用户重定向到其他页面。这是出于安全考虑

如果要在用户离开页面之前显示提示,请使用

在卸载之前:

或者使用jQuery:

$(window).unload(function(){
  alert('Bye.');
});
这只会询问用户是否要离开页面,如果他们选择留在页面上,则无法重定向他们。如果他们选择离开,浏览器将转到他们让它去的地方

在卸载页面之前,您可以使用onunload进行操作,但无法从此处重定向Chrome 14+块onunload内的警报:

window.onunload = function() {
    alert('Bye.');
}
或者使用jQuery:

$(window).unload(function(){
  alert('Bye.');
});

这就是我所做的:

当用户试图离开页面时,调用API,如果用户单击onbeforeunload事件侦听器中的“离开”按钮,则调用该API。 若用户点击“离开”按钮,他将被重定向到其他页面。 若用户单击“停留”按钮,我在onbeforeunload事件侦听器中有一个超时函数,它将在用户停留在当前页面上的特定时间2秒后执行。[在这个API中,我撤销了API在第一步中调用的操作]
可能重复的您只需要点击卸载事件,只有在onbeforeunload交互期间用户确认离开时才会触发卸载事件。必须使ajax调用同步。您好,请分享您的观点。这对您是否有帮助?
$(window).unload(function(){
  alert('Bye.');
});