当前位置: 首页 > article >正文

使用rrweb悄悄录制用户操作过程

文章目录

  • 一、前言
    • 1.1、难点
    • 1.2、调研
  • 二、`rrweb`
    • 2.1、效果展示
    • 2.2、基本使用(vue示例)
      • 2.2.1、`HTML`
      • 2.2.2、`JS`
    • 2.3、上传 & 优化
  • 三、原理
  • 四、源码
  • 五、最后

一、前言

在做项目监控埋点中,有些时候很不好复现用户操作的步骤。这时就需要做一些用户行为的记录,主要是为了更好地还原用户在某一个时间点的操作过程。

1.1、难点

  • 跨框架使用:这些项目有vuereact,需要都能适用
  • 能录制用户行为:能把用户在页面上的操作录制下来
  • 能回放录制:如果不能回放,那么这个录制就无意义了
  • 用户无感知:必须做到用户无感知才行

1.2、调研

说到前端视频的录制,我们会想到 webRTC 这个技术,他能做到录制屏幕的效果,但是通过 webRTC 去完成这个方案的话,有几个缺点:

  • 做不到用户无感知,需要用户同意才能录制
  • 录制的视频太大了,太占内存了
  • 学习成本比较高,这也是原因之一

那怎么才能做到:

  • 用户无感知
  • 不录制视频

其实只要不录制视频了,那么用户肯定就无感知,因为一旦要录视频,浏览器肯定要询问用户同意不同意。

所以我们选择了另一个方案 rrweb,一个用来录制用户页面行为的库

二、rrweb

rrwebrecord and replay the web 的简写,旨在利用现代浏览器所提供的强大 API 录制并回放任意 web 界面中的用户操作。

2.1、效果展示

2.2、基本使用(vue示例)

2.2.1、HTML

我们先定义好 html 结构,replayer 用来当做回放的容器

<template>
  <div class="main">
      <el-button
        size="mini"
        round
        type="primary"
        icon="el-icon-refresh-left"
        @click.native="record"
      >
        录制
      </el-button>

      <el-button
        size="mini"
        round
        type="primary"
        icon="el-icon-refresh-left"
        @click.native="

http://www.kler.cn/a/273771.html

相关文章:

  • 【Linux】sed编辑器
  • 前端用json-server来Mock后端返回的数据处理
  • SQL Server中可以通过扩展事件来自动抓取阻塞
  • 【vue3封装element-plus的反馈组件el-drawer、el-dialog】
  • 数据结构:包装类和泛型
  • Linux 文件的特殊权限—ACL项目练习
  • 蓝桥杯决赛2023 RE CyberChef2
  • 抖音视频爬虫工具安装|视频无水印批量下载软件
  • 递归算法c++
  • 什么是软件开发?软件开发阶段划分是什么?并以LabVIEW为例进行说明
  • 【小程序配置服务器域名】详细讲解
  • bs4模块
  • MyBatis3源码深度解析(十四)SqlSession的创建与执行(一)Configuration与SqlSession的创建过程
  • React的基本使用
  • 嵌入式学习40-数据结构
  • MindGraph:文字生成知识图
  • 电机学(笔记一)
  • UGUI界面性能优化3-合理规划界面层级结构
  • Machine Learning ---- Gradient Descent
  • 万界星空科技WMS仓储管理包含哪些具体内容?
  • Python如何去除网页中的隐藏元素
  • Matplotlib如何显示多张图片(管理多个子图)
  • 如何系统地自学 Python?
  • 【iOS】Blocks
  • redis cpu百分百问题
  • C#进阶实践项目(俄罗斯方块)