我需要的是:
我想找到至少有3个以上的正确实现的东西。我也可以看看像Dojo或JQuery这样的js框架,如果它们能帮助我的话,但我能让它足够小吗?
sr4lhrrt1#
自己写怎么样?:)让我们考虑一下这个简单的jquery代码:把这个放在你的< head >
<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function(){ $('html').mousemove(function(event){ console.log("mouse move X:"+event.pageX+" Y:"+event.pageY); }); $('html').click(function(event){ console.log("mouse click X:"+event.pageX+" Y:"+event.pageY); }); $('html').keyup(function(event){ console.log("keyboard event: key pressed "+event.keyCode); }); }); </script>
如果你使用Firefox firebug,或者IE/Chrome开发工具/ javascript控制台,你会看到所有的值。你需要用你需要的数据实现简单的事件对象,以及一些每隔几秒钟发布收集到的数据的机制(使用jquery post或 AJAX 方法和JSON对象)总结:
它不是防弹的,你需要服务器部分(简单的php/asp.net mvc页面来反序列化json并将其存储到db / xml中,不管你需要什么),然后你就可以开始了:)根据下面关于批处理数据的注解-非常好的观点。将.mousemove事件更改为:
$('html').mousemove(function(event){ console.log("mouse move X:"+event.pageX+" Y:"+event.pageY); var color = 'red'; var size = '2px'; $("body").append( $('<div></div>') .css('position', 'absolute') .css('top', event.pageY + 'px') .css('left', event.pageX + 'px') .css('width', size) .css('height', size) .css('background-color', color) ); });
将更容易想象它将是多少数据-每个点将是一个到远程服务器的POST
but5z9lq2#
这个问题听起来像是XY Problem。我想你真正需要的是一个系统,它可以让你在浏览器上记录用户事件并报告这些事件。通常这种类型的功能并不是作为一个部分产品而存在,而是一个完整的解决方案。我所知道的唯一一个能够进行这种类型的跟踪并提供报告的解决方案是Adobe Omniture(从个人经验)。什么是可怕的,截至本文写作的网站似乎是关闭。
u2nhd7ah3#
有一项服务http://www.clicktale.com/support/video_tutorials
lkaoscv74#
在使用RXJS的情况下,您可以用一种更优雅的方式来完成。
import { fromEvent, merge } from "rxjs"; import { debounceTime } from "rxjs/operators"; merge( fromEvent(document, "keyup"), fromEvent(document, "mousemove") ).pipe(debounceTime(1000)) .subscribe(response => { console.log(response); });
我知道这个问题很老了。只是想用RXJS方法添加一个答案。
4条答案
按热度按时间sr4lhrrt1#
自己写怎么样?:)让我们考虑一下这个简单的jquery代码:
把这个放在你的< head >
如果你使用Firefox firebug,或者IE/Chrome开发工具/ javascript控制台,你会看到所有的值。你需要用你需要的数据实现简单的事件对象,以及一些每隔几秒钟发布收集到的数据的机制(使用jquery post或 AJAX 方法和JSON对象)
总结:
它不是防弹的,你需要服务器部分(简单的php/asp.net mvc页面来反序列化json并将其存储到db / xml中,不管你需要什么),然后你就可以开始了:)
根据下面关于批处理数据的注解-非常好的观点。将.mousemove事件更改为:
将更容易想象它将是多少数据-每个点将是一个到远程服务器的POST
but5z9lq2#
这个问题听起来像是XY Problem。我想你真正需要的是一个系统,它可以让你在浏览器上记录用户事件并报告这些事件。通常这种类型的功能并不是作为一个部分产品而存在,而是一个完整的解决方案。我所知道的唯一一个能够进行这种类型的跟踪并提供报告的解决方案是Adobe Omniture(从个人经验)。什么是可怕的,截至本文写作的网站似乎是关闭。
u2nhd7ah3#
有一项服务http://www.clicktale.com/support/video_tutorials
lkaoscv74#
在使用RXJS的情况下,您可以用一种更优雅的方式来完成。
我知道这个问题很老了。只是想用RXJS方法添加一个答案。