当前位置:首页 > 科技  > 软件

为了全面监控用户行为,我写了个超级前端工具库!

来源: 责编: 时间:2024-06-06 17:41:47 289观看
导读简介sunshine-track 应用于前端监控, 基于 行为上报,实现了 用户行为、错误监控、页面跳转、页面白屏检测、页面性能检测等上报功能。适用于 Vue、React、Angular 等框架本项目源码:https://github.com/sanxin-lin/sunsh

简介

sunshine-track 应用于前端监控, 基于 行为上报,实现了 用户行为、错误监控、页面跳转、页面白屏检测、页面性能检测等上报功能。适用于 Vue、React、Angular 等框架HL628资讯网——每日最新资讯28at.com

本项目源码:https://github.com/sanxin-lin/sunshine-track。各位兄弟姐妹如果觉得喜欢的话,可以点个 star 哦~HL628资讯网——每日最新资讯28at.com

功能

sunshine-track具备以下功能:HL628资讯网——每日最新资讯28at.com

  • ✅ 用户行为上报:包括 点击、跳转页面、跳转页面记录数组、请求 等
  • ✅ 用户手动上报:提供 Vue 自定义指令 以及add、report函数,实现用户手动上报
  • ✅ 自定义上报:提供 格式化上报数据、自定义上报函数、自定义决定上不上报 等配置项,更灵活地上报数据
  • ✅ 请求数据上报:提供 检测请求返回、过滤请求 等配置项,让用户决定上报哪些请求数据
  • ✅ 上报方式:提供 上报方式 配置项,用户可选择 img、http、beacon 三种方式,http方式又支持 xhr、fetch 两种,且支持 自定义headers
  • ✅ 上报数据缓存:可配置 本地缓存、浏览器本地缓存、IndexedDB 三种方式
  • ✅ 上报数据阈值:可配置上报数据 阈值 ,达到 阈值 后进行上报操作
  • ✅ 全局点击上报:可通过配置 选择器、元素文本,对全局DOM节点进行点击上报
  • ✅ 页面的性能检测,包括 白屏、FP、FCP、LCP、CLS、TTFB、FID 等

上报数据格式

选项
HL628资讯网——每日最新资讯28at.com

描述
HL628资讯网——每日最新资讯28at.com

类型
HL628资讯网——每日最新资讯28at.com

uuidHL628资讯网——每日最新资讯28at.com

上报数据的id
HL628资讯网——每日最新资讯28at.com

stringHL628资讯网——每日最新资讯28at.com

type HL628资讯网——每日最新资讯28at.com

上报数据的类型
HL628资讯网——每日最新资讯28at.com

stringHL628资讯网——每日最新资讯28at.com

data HL628资讯网——每日最新资讯28at.com

上报数据
HL628资讯网——每日最新资讯28at.com

anyHL628资讯网——每日最新资讯28at.com

timeHL628资讯网——每日最新资讯28at.com

上报时间
HL628资讯网——每日最新资讯28at.com

numberHL628资讯网——每日最新资讯28at.com

statusHL628资讯网——每日最新资讯28at.com

上报状态
HL628资讯网——每日最新资讯28at.com

stringHL628资讯网——每日最新资讯28at.com

domainHL628资讯网——每日最新资讯28at.com

当前域名
HL628资讯网——每日最新资讯28at.com

stringHL628资讯网——每日最新资讯28at.com

hrefHL628资讯网——每日最新资讯28at.com

当前网页路径
HL628资讯网——每日最新资讯28at.com

stringHL628资讯网——每日最新资讯28at.com

userAgentHL628资讯网——每日最新资讯28at.com

当前user-agent
HL628资讯网——每日最新资讯28at.com

stringHL628资讯网——每日最新资讯28at.com

deviceInfoHL628资讯网——每日最新资讯28at.com

设备的相关信息
HL628资讯网——每日最新资讯28at.com

objectHL628资讯网——每日最新资讯28at.com

安装

图片图片HL628资讯网——每日最新资讯28at.com

使用

图片图片HL628资讯网——每日最新资讯28at.com

全局点击监听

可以通过配置globalClickListeners来对于某些DOM节点进行点击监听上报HL628资讯网——每日最新资讯28at.com

图片图片HL628资讯网——每日最新资讯28at.com

配置上报阈值

上报分为几种:HL628资讯网——每日最新资讯28at.com

  • 用户行为上报:点击、跳转页面、请求,这些上报数据会缓存着,当达到阈值时再进行上报
  • 错误上报:请求报错、代码报错、异步错误,这些是立即上报
  • 页面性能上报:白屏、FP、FCP、LCP、CLS、TTFB、FID,这些是立即上报

用户行为上报的阈值默认是 10,支持自定义 maxEventsHL628资讯网——每日最新资讯28at.com

图片图片HL628资讯网——每日最新资讯28at.com

配置缓存方式

如果你想要避免用户重新打开网页之后,造成上报数据的丢失,那么你可以配置缓存方式,通过配置cacheType:HL628资讯网——每日最新资讯28at.com

  • normal:默认,本地缓存
  • storage:浏览器 localStorage 本地缓存
  • db:浏览器 IndexedDB 本地缓存
app.use(Track, {  ...options,  cacheType: 'storage' // 配置缓存方式})

打印上报数据

可以通过配置 log ,开启打印上报数据。HL628资讯网——每日最新资讯28at.com

图片图片HL628资讯网——每日最新资讯28at.com

灵活上报请求数据

请求也是一种行为,也是需要上报的,或许我们有这个需求。HL628资讯网——每日最新资讯28at.com

  • 过滤:某些请求我们并不想上报。
  • 自定义校验请求响应数据:每个项目的响应规则可能都不同,我们想自己判断哪些响应是成功,哪些是失败。

图片图片HL628资讯网——每日最新资讯28at.com

格式化上报数据、自定义决定上不上报、自定义上报

如果你想在数据上报之前,格式化上报数据的话,可以配置report中的format。HL628资讯网——每日最新资讯28at.com

图片图片HL628资讯网——每日最新资讯28at.com

如果你想要自己决定某次上报的时候,进行取消,可以配置report中的isReport。HL628资讯网——每日最新资讯28at.com

图片图片HL628资讯网——每日最新资讯28at.com

如果你不想用这个库自带的上报功能,想要自己上报,可以配置report中的customReport。HL628资讯网——每日最新资讯28at.com

图片图片HL628资讯网——每日最新资讯28at.com

手动上报

手动上报分为三种:HL628资讯网——每日最新资讯28at.com

  • 手动添加上报数据:添加到缓存中,等到达到阈值再上报。
  • 手动执行数据上报:立即上报。
  • 自定义指令上报:如果你是 Vue 项目,支持指令上报。

图片图片HL628资讯网——每日最新资讯28at.com

如果你是 Vue 项目,可以使用指令v-track进行上报。HL628资讯网——每日最新资讯28at.com

图片图片HL628资讯网——每日最新资讯28at.com

配置参数

选项
HL628资讯网——每日最新资讯28at.com

描述
HL628资讯网——每日最新资讯28at.com

类型
HL628资讯网——每日最新资讯28at.com

projectKeyHL628资讯网——每日最新资讯28at.com

项目key
HL628资讯网——每日最新资讯28at.com

stringHL628资讯网——每日最新资讯28at.com

userIdHL628资讯网——每日最新资讯28at.com

用户id
HL628资讯网——每日最新资讯28at.com

stringHL628资讯网——每日最新资讯28at.com

report.urlHL628资讯网——每日最新资讯28at.com

上报url
HL628资讯网——每日最新资讯28at.com

stringHL628资讯网——每日最新资讯28at.com

report.reportTypeHL628资讯网——每日最新资讯28at.com

上报方式
HL628资讯网——每日最新资讯28at.com

img、http、beaconHL628资讯网——每日最新资讯28at.com

report.headersHL628资讯网——每日最新资讯28at.com

上报自定义请求头,http 上报模式生效HL628资讯网——每日最新资讯28at.com

objectHL628资讯网——每日最新资讯28at.com

report.formatHL628资讯网——每日最新资讯28at.com

上报数据格式化
HL628资讯网——每日最新资讯28at.com

functionHL628资讯网——每日最新资讯28at.com

report.customReportHL628资讯网——每日最新资讯28at.com

自定义上报
HL628资讯网——每日最新资讯28at.com

functionHL628资讯网——每日最新资讯28at.com

report.isReportHL628资讯网——每日最新资讯28at.com

自定义决定上不上报
HL628资讯网——每日最新资讯28at.com

functionHL628资讯网——每日最新资讯28at.com

cacheTypeHL628资讯网——每日最新资讯28at.com

数据缓存方式
HL628资讯网——每日最新资讯28at.com

normal、storage、dbHL628资讯网——每日最新资讯28at.com

globalClickListenersHL628资讯网——每日最新资讯28at.com

上报状态
HL628资讯网——每日最新资讯28at.com

arrayHL628资讯网——每日最新资讯28at.com

logHL628资讯网——每日最新资讯28at.com

当前域名
HL628资讯网——每日最新资讯28at.com

booleanHL628资讯网——每日最新资讯28at.com

maxEventsHL628资讯网——每日最新资讯28at.com

上报阈值
HL628资讯网——每日最新资讯28at.com

numberHL628资讯网——每日最新资讯28at.com

historyUrlsNumHL628资讯网——每日最新资讯28at.com

需要记录的url跳转数组
HL628资讯网——每日最新资讯28at.com

numberHL628资讯网——每日最新资讯28at.com

checkHttpStatusHL628资讯网——每日最新资讯28at.com

判断响应数据
HL628资讯网——每日最新资讯28at.com

functionHL628资讯网——每日最新资讯28at.com

filterHttpUrlHL628资讯网——每日最新资讯28at.com

过滤上报请求数据
HL628资讯网——每日最新资讯28at.com

functionHL628资讯网——每日最新资讯28at.com

switchs.xhrHL628资讯网——每日最新资讯28at.com

是否开启xhr请求上报
HL628资讯网——每日最新资讯28at.com

booleanHL628资讯网——每日最新资讯28at.com

switchs.fetchHL628资讯网——每日最新资讯28at.com

是否开启fetch请求上报
HL628资讯网——每日最新资讯28at.com

booleanHL628资讯网——每日最新资讯28at.com

switchs.errorHL628资讯网——每日最新资讯28at.com

是否开启错误上报
HL628资讯网——每日最新资讯28at.com

booleanHL628资讯网——每日最新资讯28at.com

switchs.whitescreenHL628资讯网——每日最新资讯28at.com

是否开启白屏检测上报
HL628资讯网——每日最新资讯28at.com

booleanHL628资讯网——每日最新资讯28at.com

switchs.hashchangeHL628资讯网——每日最新资讯28at.com

是否开启hash变化请求上报
HL628资讯网——每日最新资讯28at.com

booleanHL628资讯网——每日最新资讯28at.com

switchs.historyHL628资讯网——每日最新资讯28at.com

是否开启history变化上报
HL628资讯网——每日最新资讯28at.com

booleanHL628资讯网——每日最新资讯28at.com

switchs.performanceHL628资讯网——每日最新资讯28at.com

是否开启页面性能上报
HL628资讯网——每日最新资讯28at.com

booleanHL628资讯网——每日最新资讯28at.com

本项目源码:https://github.com/sanxin-lin/sunshine-track。各位兄弟姐妹如果觉得喜欢的话,可以点个 star 哦~HL628资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-92466-0.html为了全面监控用户行为,我写了个超级前端工具库!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 关于 Python 数据分析的 15 个 NumPy 应用

下一篇: 动态链接库的实现原理是什么?

标签:
  • 热门焦点
  • 一加Ace2 Pro官宣:普及16G内存 引领24G

    一加官方今天继续为本月发布的新机一加Ace2 Pro带来预热,公布了内存方面的信息。“淘汰 8GB ,12GB 起步,16GB 普及,24GB 引领,还有呢?#一加Ace2Pro#,2023 年 8 月,敬请期待。”同时
  • 石头自清洁扫拖机器人G10S评测:多年黑科技集大成之作 懒人终极福音

    科技圈经常能看到一个词叫“缝合怪”,用来形容那些把好多功能或者外观结合在一起的产品,通常这样的词是贬义词,但如果真的是产品缝合的好、缝合的实用的话,那它就成了中性词,今
  • 6月iOS设备好评榜:第一蝉联榜首近一年

    作为安兔兔各种榜单里变化最小的那个,2023年6月的iOS好评榜和上个月相比没有任何排名上的变化,仅仅是部分设备好评率的下降,长年累月的用户评价和逐渐退出市场的老款机器让这
  • 线程通讯的三种方法!通俗易懂

    线程通信是指多个线程之间通过某种机制进行协调和交互,例如,线程等待和通知机制就是线程通讯的主要手段之一。 在 Java 中,线程等待和通知的实现手段有以下几种方式:Object 类下
  • K8S | Service服务发现

    一、背景在微服务架构中,这里以开发环境「Dev」为基础来描述,在K8S集群中通常会开放:路由网关、注册中心、配置中心等相关服务,可以被集群外部访问;图片对于测试「Tes」环境或者
  • SpringBoot中使用Cache提升接口性能详解

    环境:springboot2.3.12.RELEASE + JSR107 + Ehcache + JPASpring 框架从 3.1 开始,对 Spring 应用程序提供了透明式添加缓存的支持。和事务支持一样,抽象缓存允许一致地使用各
  • 让我们一起聊聊文件的操作

    文件【1】文件是什么?文件是保存数据的地方,是数据源的一种,比如大家经常使用的word文档、txt文件、excel文件、jpg文件...都是文件。文件最主要的作用就是保存数据,它既可以保
  • 华为HarmonyOS 4升级计划公布:首批34款机型今日开启公测

    8月4日消息,今天下午华为正式发布了HarmonyOS 4系统,在更流畅的前提下,还带来了不少新功能,UI设计也有变化,会让手机焕然一新。华为宣布,首批机型将会在
  • iQOO 11S新品发布会

    iQOO将在7月4日19:00举行新品发布会,推出杭州亚运会电竞赛事官方用机iQOO 11S。
Top