Javascript jQuery:记录所有页面交互

Javascript jQuery:记录所有页面交互,javascript,jquery,performance,debugging,Javascript,Jquery,Performance,Debugging,我希望建立一个内部调试系统,这样我们就可以看到用户对某些事情的反应 将所有鼠标点击、移动等传回服务器的最佳方式是什么 我想到的一种方法是对所有内容在body上运行绑定,然后将其添加到一个数组中,该数组在页面卸载时发送,但我认为,如果用户决定单击视线中的所有内容,或者在页面上移动鼠标,在那里工作了4个小时,这可能会严重杀死浏览器 理想情况下,我希望避免使用web套接字 我确信这件事以前做过,所以我很想知道是怎么做的 谢谢大家,我使用了这里的答案() 作为包装器,结合@hallleron的方法—将值

我希望建立一个内部调试系统,这样我们就可以看到用户对某些事情的反应

将所有鼠标点击、移动等传回服务器的最佳方式是什么

我想到的一种方法是对所有内容在
body
上运行绑定,然后将其添加到一个数组中,该数组在页面卸载时发送,但我认为,如果用户决定单击视线中的所有内容,或者在页面上移动鼠标,在那里工作了4个小时,这可能会严重杀死浏览器

理想情况下,我希望避免使用web套接字

我确信这件事以前做过,所以我很想知道是怎么做的


谢谢大家,我使用了这里的答案()

作为包装器,结合@hallleron的方法—将值存储在一个字符串中,用
每隔3.5秒触发一次AJAX查询,然后将数组设置回null。在页面卸载时,AJAX查询最后触发一次

我还考虑让unload脚本动态地创建一个iFrame,其中(再次)包含一个动态生成的表单和内容,该表单和内容可以自动发布内容,以防AJAX因任何原因挂起

所有数组字符串都使用自己的CSRF令牌,并为客户端随机生成一个ID,然后在服务器端对该ID进行散列,用于检查该ID是否已发送,以停止任何可能的双AJAX请求

在服务器端,它使用
ARCHIVE
引擎类型和
INSERT DELAYED
INSERT方法存储

最后,我可能会将日志系统移动到它自己的EC2/RDS组

这一切背后的理由是能够看到网站最受欢迎的功能,即谁在点击哪里(比如说,如果有两个主页按钮,那么哪个更受欢迎,等等)


希望这能帮助其他陷入困境的人

使用轮询技术将事件存储在小队列中,并每x秒执行一次ajax调用。执行调用后,队列将被清理。这将是我的方法…我在考虑这一点-基本上使用setTimeout/setInterval-但这不就是对服务器的过度冲击,也有可能杀死某人的浏览器吗?