如何使用AJAX在网站上显示用户鼠标指针,以便每个查看网站的人都能看到它



好吧,我知道这听起来有点令人困惑,所以为了更好地说明这一点:

想象一下,我们现在都在stackoverflow上(我们在其中)。有多少人现在也在问一个问题,并在我所在的同一个文本区域框中输入?我知道一次显示一个页面上有多少用户是可能的,但有可能使用AJAX来显示用户在页面上移动时鼠标指针的共同条例吗?甚至可能他们的鼠标指针上有用户名,飘到他们可能点击的地方(看看我要去哪里)?

这可能吗?

找到这篇文章是因为我也想做同样的事情。答案是肯定的,您可以发送相对于div的位置,并每隔一段时间更新一次,然后在另一边使用转换来更新位置。这并不准确,但目标是给用户一种同时有更多人在页面上的感觉。您可以使用这些div来显示"用户正在键入"等。在我的情况下,我想让用户知道是否会收到回复,或者他们应该离开,稍后再回来。

我不建议这样做。

您需要做的是将鼠标的每一次移动都发送到服务器,服务器会将鼠标与用户的用户名(以及您需要的任何其他详细信息)一起存储在内存中。你需要一个持久的连接打开到每个用户的浏览器(见彗星),这样

  1. 您不必为每次更新鼠标位置而处理建立新连接的开销
  2. 您可以将其他用户鼠标位置的详细信息推送到所有用户的浏览器

这是个坏主意的原因是

  1. 鼠标指针更新将被频繁触发,并将产生大量流量
  2. 然后,您必须将每个鼠标位置更新发送给当前登录的所有用户
  3. 这种持续的活动也会降低用户的浏览器速度

谷歌的员工在Google Wave上实现这一功能时遇到了足够的麻烦,而这主要是通过文本更新实现的。除非你有一个非常重要的用例,其中这种行为很重要,否则我建议你使用一个不那么网络密集的用户界面。

最新更新