HotJar如何生成他们的录音?



跟踪鼠标移动/滚动/点击事件很容易,但他们如何保存屏幕并保持同步?

页面呈现得非常好(至少对于静态HTML页面,还没有在Angular或任何SPA上测试过),同步几乎是完美的。

要生成和上传一个23fps的屏幕(1920x1080)记录,需要大约2Mbps的带宽。也许当只记录一些鼠标事件时,平均仍然需要300-500Kbps ?

HTML内容和DOM更改通过websocket泵送并由Hotjar存储(除去敏感信息,例如来自用户的表单输入,除非您已将它们列入白名单),CSS不存储(当您观看录制时它由您加载)。

因为它们只记录用户活动和DOM变化,所以要记录的数据要比捕获完整视频少得多。缺点是一些Javascript驱动的小部件在重播中不能正常工作。

Hotjar文档的相关信息:

  • 当涉及到记录时,对页面的更改使用MutationObserver API捕获,该API内置到每个现代浏览器中。这使得它变得高效,因为改变本身已经发生了在页面和浏览器上的MutationObserver API允许我们记录这个变化,然后我们解析并通过websocket发送。
  • 每隔很短的时间间隔,每100ms或每秒10次记录光标位置和滚动位置。点击记录当它们发生时,捕获光标相对于的位置元素被单击。这些都是不妨碍a的函数用户的体验,因为它们只捕获指针的位置当点击发生或每100毫秒。事件被发送到Hotjar服务器通过websocket内的帧,这样效率更高

来源:https://help.hotjar.com/hc/en-us/articles/115009335727-Will-Hotjar-Slow-Down-My-Site-

相关内容

最新更新