是否有任何javascript库来捕获鼠标/键盘事件并将它们发送到外部服务器?

我需要的是:

  • 可以捕获所有键盘事件
  • 可以捕获所有鼠标事件(点击,移动)
  • 可以捕获页面滚动,可能会关注浏览器的差异
  • 使用JSONP(或其他任何东西,但不仅需要在最新的浏览器中工作)将数据发送到外部服务器
  • 非常小,最多xx kB我希望

我想找到一些至少有3个以上正确实现的东西。 如果他们可以帮助我,我也可以看看像Dojo或JQuery这样的js框架,但是我能够保持它足够小吗?

怎么样自己写呢? :)让我们考虑一下这个简单的jquery代码:

把它放在你的中

  

如果您要访问Firefox firebug或IE / Chrome开发人员工具/ javascript控制台,您将看到所有值。 您需要使用所需的数据实现简单的事件对象,以及每隔几秒发布收集的数据的一些机制(使用jquery post或ajax方法和JSON对象)

总结:

  • 所有键盘事件? 是(按键)
  • 鼠标移动和点击? 是
  • 可以抓住页面滚动? 可行
  • 可能会关注浏览器差异 – 这是jquery的主要目标
  • 使用JSONP将数据发送到外部服务器? 确保只使用$ .ajax或$ .post
  • 是非常小的,最多xx kB我希望 – jquery它自己约31kb minfied / gzipped

它不是防弹的,你需要服务器部分(简单的php / asp.net mvc页面来反序列化json并将其存储到你需要的db / xml whaterver中)你已经准备好了:)

根据下面关于批量数据的评论 – 非常好的一点。 将.mousemove事件更改为:

  $('html').mousemove(function(event){ console.log("mouse move X:"+event.pageX+" Y:"+event.pageY); var color = 'red'; var size = '2px'; $("body").append( $('
') .css('position', 'absolute') .css('top', event.pageY + 'px') .css('left', event.pageX + 'px') .css('width', size) .css('height', size) .css('background-color', color) ); });

将更容易想象它将有多少数据 – 每个点都是对远程服务器的单个POST

这个问题听起来像一个XY问题 。 我认为您实际需要的是一个允许您在Web浏览器上记录用户事件并报告这些事件的系统。 通常,这种类型的function不是作为部分产品而是作为完整解决方案存在的。 我所知道的唯一解决方案就是这种跟踪AND提供报告的是Adobe Omniture (来自个人经验)。 在写这篇文章时,网站似乎很糟糕。

有一项服务http://www.clicktale.com/support/video_tutorials