我知道(使用Jquery)你无法使用beforeUnload事件检测你的页面何时因任何原因而卸载
例如
$(window).on('beforeUnload' , function ( e ) {
return "please dont leave";
});
是否可以检测到这是否是由页面外部的某些内容引起的,例如关闭标签/窗口或使用后退/前进按钮。
如果无法正常检测到这些事情的使用,是否可以确定地确定任何DOM元素上的任何事件都没有触发beforeUnload?
答案 0 :(得分:0)
检测浏览器操作等外部操作并不容易 你可以做反过来。
示例 - 跟踪if是否为链接
var el = null;
$('a,.submit-button,.other-exit-buttons').click(function(e){
el=e;
});
$(window).on('beforeUnload' , function ( e ) {
console.log(el);
// do other stuff like log it
return "please dont leave";
});
因此,您可以检查用户是否退出throw锚标记,或者您可以使用此方法跟踪“提交”按钮中的所有退出。例如。
映射您的主要退出事件,而不是所有网站,如果用户退出并且您的var仍为“null”,则您知道用户以其他方式退出。