我们有一个Rails网站,用户可以在线进行测验。 20-30%的用户将报告由于互联网断开连接,他们无法完成测验。有没有办法跟踪用户在特定页面上发生互联网断开的次数。
答案 0 :(得分:1)
取决于您想要跟踪它的方式和原因。您可以使用客户端上的window.navigator.onLine属性执行此操作,当用户再次联机时,您可以尝试登录到分析,以了解这种情况发生的频率 - MDN。
如果您想知道服务器端,根据您可用的资源,您可能需要为客户端创建一个websocket(MDN)。 websocket将是您的rails应用程序和客户端浏览器之间的持续连接,并且任何断开都应该在服务器端显着,您可以跟踪。现有的库用于使用rails进行websockets但请记住,此选项可能会占用更多的服务器资源,因为它需要与站点的所有在线用户保持持久连接,但您可以通过此通道传输所有应用程序数据,从而节省其他连接否则可能需要。
另一个需要更少资源但可能需要更多工作的选项是在客户端上创建一个脚本,以某种方式轮询服务器,让它知道它仍在线,你可以链接到& #39;保活'请求用户的信息,并确定一个合理的超时,如果一个人没有到达,可能需要服务器上的预定任务。