我正在开发一个聊天应用程序,我希望在用户通过点击后退按钮或其他链接或关闭浏览器离开页面时检测并解除ajax。
因此,请为您提供有价值的解决方案。
提前谢谢大家。
答案 0 :(得分:4)
你做不到。当用户离开页面时,事件window.onbeforeunload
会触发,但它不允许您进行任何ajax调用。
您所能做的就是返回一个字符串,该字符串将作为confirm
对话框显示给用户。如果用户按取消,他将保留在页面中,否则页面将被卸载。
return "Are you sure, you want to leave this page?" // this is all you can do
答案 1 :(得分:2)
试试这个:
window.onbeforeunload = function() {
$('body').mousemove(function() {
$('body').unbind("mousemove");
ajaxCall();
});
return "Are you sure? All work will lost! Cancel to upload the work";
};
答案 2 :(得分:0)
尝试绑定Window.onunload()事件,或jquery unload如果您使用Jquery。 在this topic
中也得到了更广泛的回答