如何检测用户离开网站



我使用的是react-routerBrowserRouterRouteRedux。我想在用户离开网站或注销时调度一个操作。我也在使用socket.io,但不能依赖disconnect,因为站点中页面的更改会导致断开连接。

我看了window.onbeforeunloadwindow.onunload,但它们也不起作用,因为当我在网站中更改页面时,它们会被调用。

感谢所有帮助:(

我不熟悉React/Redux,但我怀疑这是因为您的客户端的套接字连接是在正在创建和销毁的视图中创建的。这意味着你有一个持久性问题。

由于Redux是用于状态管理的,所以您应该将套接字实例存储在那里。如果你的用户注销了,那么你可以手动断开连接并丢弃实例,或者如果用户离开了你的页面,那么它自然会断开连接。

最新更新