您可以通过以下两种方式来实现:
-
利用
window
的unload
事件,在浏览器关闭、跳转、刷新时向服务端发送统计数据。示例代码如下:window.addEventListener("unload", function() { // 向服务端发送统计数据的代码 });
该方法可能会有一定程度的误报和漏报,因为
unload
事件并不能保证一定会被触发。 -
利用
window
的beforeunload
事件,在浏览器关闭、跳转、刷新时向服务端发送统计数据。示例代码如下:window.addEventListener("beforeunload", function() { // 向服务端发送统计数据的代码 // 建议将发送请求的函数设置成同步阻塞的,以确保请求能够在页面关闭前发送完毕 });
该方法会在用户点击关闭按钮、刷新按钮、地址栏输入新网址等导致页面即将被卸载的情况下触发,可以比
unload
事件更加可靠地向服务端发送统计数据。需要注意的是,发送请求的函数应该是同步阻塞的,以确保请求能够在页面关闭前发送完毕。