我们有一个 Rails 网站,用户可以在其中进行在线测验。 20-30% 的用户会报告由于互联网断开而无法完成测验。有没有办法跟踪用户在特定页面上时发生的互联网断开次数。
最佳答案
取决于您想要跟踪它的方式和原因。您可以使用客户端的 window.navigator.onLine 属性来执行此操作,当用户再次在线时,您可以尝试登录分析以了解这种情况发生的频率 - MDN .
如果您想在服务器端了解,根据您可用的资源,您可能需要为客户端创建一个 websocket ( MDN )。 Websocket 将是您的 Rails 应用程序和客户端浏览器之间的持续连接,任何断开连接都应该在服务器端显而易见,您可以对其进行跟踪。有一些现有的库可以使用 Rails 进行 websocket,但请记住,此选项可能会占用更多服务器资源,因为它需要与站点的所有在线用户保持持久连接,但您可以通过此 channel 传输所有应用程序数据,从而节省其他连接否则可能需要。
另一个需要更少资源但可能需要更多工作的选项是在客户端上有一个脚本,以某种方式轮询服务器,让它知道它仍然在线,并且您可以链接“保持事件”请求用户信息并在用户未到达时确定合理的超时,这可能需要在服务器上执行计划任务。
关于javascript - 是否可以跟踪用户事件 session 中的互联网断开情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30436917/