关闭 Chrome 浏览器不会触发页面隐藏

问题描述 投票:0回答:1

当用户在登录我的系统时关闭 chrome 时,我想在我们的数据库中保存一些统计信息,就像他们正确使用了注销链接一样。当用户离开时,或者当用户关闭多个打开的选项卡中的一个选项卡时,我可以让它工作,但当用户关闭整个浏览器时,它不能工作。我错过了什么?

我添加了一个 onpagehide 事件处理程序,它使用 navigator.sendBeacon 来更新我的数据库。

当用户离开时,或者当用户关闭多个打开选项卡中的一个选项卡时,事件处理程序将触发并更新数据库。

但是当用户关闭整个浏览器时,该事件不会触发,因此数据库不会更新。

window.addEventListener('pagehide', function() {ProcessLogout();});
javascript google-chrome
1个回答
0
投票

我建议尝试使用 visibilitychange 事件而不是“pagehide”,并设计您的统计信息更新以处理它可能不是最终的事情,并且可能会在后续调用中再次更新统计信息(例如,用户可能会刚刚最小化了窗口,然后再次升起它,然后关闭它 - 这将生成 3 个visibilitychange 事件)。

© www.soinside.com 2019 - 2024. All rights reserved.