一尘不染

javascript中是否有一种方法可以检测到卸载事件是通过刷新,后退按钮还是关闭浏览器引起的?

javascript

我目前正在查看窗口的“卸载”事件,以尝试确定如何触发“卸载”事件,但是收效甚微。有没有办法确定如何触发javascript事件?

  • 页面刷新
  • 后退按钮(或浏览离开页面)
  • 关闭浏览器

本质上,我仅在关闭浏览器窗口而不刷新或离开浏览器窗口时才需要执行一些代码。

目的:
当客户对我们的软件进行更新时,更新会将他们的第一个Internet请求重定向到报价页面。有一个“不打扰”选项的按钮,但是某些用户只会关闭他们的浏览器。关闭浏览器后,我需要复制“请勿打扰”功能,以便不再将用户重定向到商品页面。由于离开页面的方式不同,仅附加到“卸载”事件将不起作用。


阅读 218

收藏
2020-05-01

共1个答案

一尘不染

不,如果有的话,将取决于浏览器。当用户关闭页面时,您尝试运行哪种代码?是否注销用户?然后,如果浏览器崩溃或网络连接中断(如果计算机进入睡眠/hibernate模式,则可能不会注销),则不会注销用户。

如果是出于登出目的,则可能应该在随每个请求进行更新的服务器上使用timestamp变量(或使用ajax-ping),如果在指定时间内未看到该用户,则登出该用户。

2020-05-01