跟踪800 x 600的鼠标移动并显示1024 x 768

时间:2010-06-11 10:04:08

标签: javascript mouseevent

我正在使用javascript跟踪用户的鼠标移动并将其与浏览器分辨率一起存储。 然后我可以在我的浏览器中检查用户鼠标移动,分辨率为1024 x 768。  但是如果用户使用800 x 600的浏览器,那么鼠标移动的记录为800 x 600.当我看到鼠标移动为1024 x 768时,鼠标移动是错误的。 那么我怎样才能从800 x 600扩展到1024x 768?

2 个答案:

答案 0 :(得分:7)

您基本上将用户的x / y坐标乘以宽高比:

x *= 1024/800;
y *= 768/600;

我建议您在应用比率后在两个坐标上应用Math.round()。

编辑:当然,这假设较大分辨率的所有内容都按照相同的比例调整大小,否则会出现问题。

例如,如果您尝试将鼠标移动覆盖在网页上,并且该网页具有200px固定宽度的侧边栏,无论用户的分辨率如何,那么当然,当您将x / y坐标与比率相乘时,您可能会发现指针甚至不像用户那样位于侧边栏上方。

Edit2:对于网页,最安全的方法是记录用户的视口宽度/高度,然后将相同的网页嵌入到容器(如iframe)中大小以重放动作。这样可以避免一些问题。

答案 1 :(得分:0)

如何调整浏览器大小以匹配用户的维度?