当我们刷新页面(F5或浏览器中的图标)时,它将首先触发ONUNLOAD事件.当我们关闭浏览器(X右上图标)时,它将触发ONUNLOAD事件.现在,当触发ONUNLOAD事件时,无法区分刷新页面或关闭浏览器.如果你有任何解决方案,那就给我.
我需要一种方法来监控用户编辑会话,我正在审查的解决方案之一将让我使用unload事件发送ajax请求以通知服务器编辑会话结束.(请参阅:监控用户会话以防止编辑冲突)
我对unload事件的(相当有限的)读取表明附加到此处理程序的代码必须快速运行,因此通常用于清除对象以防止内存泄漏.
我的问题是,这可以为此目的提供足够的可靠性吗?
PS.我知道这个async: false选项.
我目前正在查看窗口的"卸载"事件,以尝试确定"卸载"事件是如何触发的,但是收效甚微.有没有办法确定如何触发javascript事件?
基本上我只需要在浏览器窗口关闭时执行一些代码,而不是刷新或导航.
目的:当客户更新我们的软件时,更新会将他们的第一个Internet请求重定向到商品页面.有一个"不要打扰"选项的按钮,但有些用户只需关闭他们的浏览器.关闭浏览器后,我需要复制"请勿打扰"功能,以便用户不再被重定向到优惠页面.由于离开页面的方式不同,简单地附加到"卸载"事件将不起作用.
我想在用户关闭浏览器或使用angularjs中的窗口选项卡时清除本地存储值.我尝试了以下代码.
window.addEventListener("beforeunload", function (e) {
var confirmationMessage = "\o/";
alert("exit");
(e || window.event).returnValue = confirmationMessage; //Gecko + IE
return confirmationMessage; //Webkit, Safari, Chrome
});
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,它会在刷新页面时关闭确认警报消息并关闭页面.但是我想在关闭浏览器/ Window选项卡时激活angularjs事件,而不需要询问确认消息.