2012-02-09 34 views
10

有像crazyegg.com这样的服务可以显示访问者在您的网页上放置鼠标光标的位置。我的问题是,鉴于人们拥有不同的屏幕宽度,他们如何确保我的x坐标与其他人的x坐标在页面上的位置相同?也就是说,两个人可能具有相同的鼠标x坐标,但由于屏幕宽度不同,他们的鼠标将位于网页的不同部分。网站地图如何获得准确的数据?

如何创建一个网页热图服务,将其纳入考虑范围,并且可以跨多个不同内容大小的不同网站进行缩放和使用?

+1

这只与页面居中时相关。如果它从左上角开始,分辨率无关紧要。我曾尝试过这样的服务,他们对中心布局有专门的指示。 – 2012-02-09 20:22:34

+0

通过使用文档高度和宽度以及内容高度和宽度的组合,您将能够计算用户光标在网站内容上的确切位置。如果你知道你的网站有多少填充(这可以算出来),那么它确实很简单。 – 2012-02-09 20:22:37

+0

是否可以动态获取内容高度和宽度,而不需要网站所有者输入内容? – levi 2012-02-09 20:28:52

回答

1

您可以通过元素(如主内容div)而不是整个视口来收集数据x &。以这种方式,您可以丢弃受用户解析影响的死区。

+0

当您提供热图服务时,这将如何工作,以便在多个不同的网站上使用?意思是,客户不能期望输入主要部分Id @ – levi 2012-02-09 20:27:38

+0

@levi为什么不呢?向服务提供特殊信息以改变其默认行为并不罕见。 – canon 2012-02-09 20:31:14

+0

我想网站所有者最初在他的网站上绘制一个边界框可以工作 – levi 2012-02-09 20:42:11

1

您可以将clickhandler添加到正文或包装div(最好是当您的内容在屏幕上居中时使用margin: auto),该页面包含页面的所有内容。在MouseEvent中传入的值将保持screenX/Y和clientX/Y坐标,其中前者是从屏幕左上角开始的坐标,另一个是基于body或wrapper div的左上角的坐标。使用clientX/Y坐标可以轻松创建热图,因此您可以通过不同的屏幕尺寸获得与您的内容相同的起点。

+0

扩展这个好主意。您可以根据元素生成热图,并在屏幕的该部分简单地注册鼠标活动。并不准确,但我认为是一个好方向。 – Prospero 2012-02-09 20:36:51