前端神器rrweb实用案例及JS下载

偶然发现这款前端神器工具,首先关于rrweb:

这个工具能将用户在 Web 页面上的操作过程记录下来,并转成可序列化的日志数据,也可进行回放。程序员可以拿它来远程调试 Bug,产品经理可以拿来收集分析用户行为,感觉还挺实用。


 

 尊重成果,前人铺路:


 

以上,为rrweb简单介绍及本文参考的文档案例,不多赘述,直接贴代码。

注:目前查到的案例都是用的在线公网上的js,css文件等,如果是内网无法使用,本文中我查询多个案例,把公网的js,css文件扒下来了,如果不足的地方,欢迎指正,讨论。代码连接在最下面。

 1.head引用文件

<head>
    <meta charset="UTF-8">
    <title>rrweb测试</title>
    <script src="js/jquery.min.js"></script>
    <!--rrweb对象,录制使用-->
    <script src="js/rrweb.min.js"></script>
    <script src="js/rrweb-record.min.js"></script>
    <!--回放用到的js,和css-->
    <script src="js/rrweb-index.js"></script>
    <link rel="stylesheet" href="css/rrweb.min.css">
</head>

2.随便写的html代码,模拟业务网站等

<body>
<div style="float: left;">
    <h1>这里模拟一些html代码:</h1>
    <label>用户名</label><input type="text" style="height: 30px;width: 200px;">
    <label>密码</label><input type="password" style="height: 30px;width: 200px;">
    <label>邮箱</label><input type="email" style="height: 30px;width: 200px;">
    <label>备注</label><textarea style="height: 80px;width: 200px;"></textarea>
</div>

<div style="float: left;">
<h1>模拟背景颜色,用来检验录屏画质</h1>
<div style="width: 100%;height: 50px;background-color: red;"></div>
<div style="width: 100%;height: 50px;background-color: green;"></div>
<div style="width: 100%;height: 50px;background-color: #ff50d0;"></div>
<div style="width: 100%;height: 50px;background-color: #7eff1f;"></div>
</div>
<p></p>
<div style="float: left;">
    <h1>视频回放</h1>
    <div id="playback" style="width: 1000px;height: 500px;background-color: #cccccc"></div>
</div>
<button onclick="get_start()">点击录制</button>
<button onclick="playback()">点击播放</button>
</body>

3.script函数

<script>
    //1.存放DOM节点数据
    let events = [];
    //2.点击录制
    function get_start() {
        //rrwebMin 为启动对象
        //record() 方法启动录制
        //emit会监听所有的DOM的动作, 鼠标等,
        rrwebMin.record({
            emit(event) {
                // 用任意方式存  储 event
                console.log(event);
                events.push(event);
            },
        });
        alert('正在录制')
    }
    //3.这一步,应该把数据转为JSON ,然后发送到后台存储,可以写个循环,10S发送一次,再定义一个窗口关闭事件监听,最后关闭时发送一次数据
    //SON.stringify({ events });

    //4.点击回放
    function playback() {
        new rrwebPlayer({
            target: document.getElementById('playback'), // 可以自定义 DOM 元素
            data: {events,},
        });
    }
</script>

页面是这样的,点击录制,开始监控DOM所有事件,进行记录,然后在回放区域回放出来。

 点击开始时,打开console,可以看到打印的每次记录的DOM数据

 源码连接:

链接:https://pan.baidu.com/s/1BQ78hA8f3VHqaHuOTUgh6A
提取码:tpdb


一些注意事项

  • password类型的输入框在回放中,不显示,小黑点也不显示。
  • 回放是以Iframe镶嵌其中。
  • 录制和回放可以分开,如果作为监控功能,在WEB中把录制嵌入,数据传入后台保存,以后再导出数据进行回放。
  • IE好像有兼容问题,还没来得及试。
  • 录制动画也没问题,项目中使用了可以。
  • 回放的css文件里面看了下是针对鼠标样式,回放的Iframe样式有点偏差,样式应该是写在 rrweb-index.js 里面。

先写到这里。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值