2012-05-11 68 views
2

我知道有很多分析工具可用于跟踪网站上所有访问者的光标移动 - 这些工具基本上通过给出需要粘贴的JavaScript代码来跟踪移动在网站上。他们都非常昂贵跟踪网站上所有访问者的光标移动

我想开发它为我自己的网站 - 跟踪代码安装在我的网站上,并在其他网页上查看光标移动。

我在google文档中看到过,其中如果有很多人打开文档。不同的光标以不同的颜色可见,每种颜色对应于特定的访客。我想为网站开发类似的功能。

我曾试图谷歌,但我无法找到我可以从哪里开始开发它的起点。

请指导我。

回答

2

,你应该寻找什么是附加鼠标移动事件监听到您的网页的根元素(身体?),并确保通过设置指定捕获阶段useCapture参数true在您致电addEventListener。检查DOM event model了解更多详情,diagaramme是不言自明的。

一个快速和肮脏为例应该是这样的:

var coords=[]; 
var callback = function(e) { 
    // save your mouse coordinates somewhere 
    coords.push({x:e.clientX,y:e.clientY}); 
} 
document.body.addEventListener('mousemove',callback,true); 

当然,你需要弄清楚如何在某些时候推动这些坐标到你的服务器(也许只是保存的样品坐标)。

希望这会有所帮助。

+0

“确保指定捕获阶段”为什么? – goat

+0

只需在链中的任何其他侦听器之前获取鼠标事件,即使其他侦听器在某个时刻阻止传播。 – sitifensys

0

删除我对这篇文章的回答,因为我意识到这不是正确的做法。

+0

不完全确定这一点,因为这还会捕获文档正常用户与网站交互所需的所有鼠标事件。 'opacity:0'不是'display:none' – sitifensys

+0

覆盖是一个坏主意。它会阻止点击下面的项目,没有一些奇特的编码。 $(文档).mousemove(...)应该做的伎俩。 –

1

尝试http://www.clicktale.com/他们有一个免费的博客和小网站的选项。

解密您的分析将成为难题。

如果你想用jQuery做到这一点,使用$(document).mousemove(...)。只要另一个标签还没有阻止传播,你就可以做整个页面的映射。

买者:

我没有测试的$(document).mousemove(...),它可能是$( “身体”)鼠标移动(...)或$(“HTML “).mousemove(...)