IE/Chrome卸载事件行为:刷新按钮与选择URL并按Enter



我有一个类似的事件,当用户离开我的页面时,会将其注销:

$(window).unload(function () {
$.ajax('/Account/LogOff', { async: false });
});

在IE中,如果用户点击刷新按钮,他们就会注销,当页面重新加载时,它会检测到他们已经注销,并将他们重定向到登录页面。这是一种有点烦人但可以接受的行为。

但是,如果用户在地址栏中选择URL并按Enter键,浏览器会在unload事件之前以某种方式开始加载新页面,并且用户已注销,但用户仍然已注销,并且由于用户不再具有活动会话,因此主页上的操作失败。

在Chrome中,即使使用刷新按钮也会导致这种情况发生。

是否有任何方法可以确保在新页面开始加载之前激发我的unload事件?

不,没有办法做到这一点。几年前,可以用while循环来实现ti,但浏览器已经扼杀了这一功能。

最新更新