首页 > 其他分享 >前端埋点常用方法

前端埋点常用方法

时间:2023-08-18 12:00:32浏览次数:45  
标签:常用 img 前端 发送 ajax sendBeacon 埋点 加载

1. 使用场景

  主要用于数据采集,如:性能分析,用户行为分析,日常信息采集,测试信息采集等。指的是针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。. 比如用户某个icon点击次数、观看某个视频的时长等等。

2. 方法

  常见的埋点上报方式有ajax,img,navigator.sendBeacon。这些都是需要发送到服务端的,也可以采用本地存储等方式保存到客户端,然后通过一些手动计算、导出,甚至可以等分析完之后再上报分析结果等。我在一个项目种分析界面性能就是采用的本地缓存,不涉额外的服务请求。

2.1 ajax

  即编写一个发送ajax请求的方法,在想要埋点的地方直接调用发送。

2.2 img

  主要因为可以通过支持跨域的标签来达到效果,主要有script,link,img,但是前两者必须要append到页面dom中后才会加载,而img可以在指定src之后就加载,所以为了不影响dom和阻塞加载,优先考虑img。使用方法:

1 var img=new Image();
2 img.src="https://lf3-cdn-tos.bytescm.com/obj/static/xitu_juejin_web/img/MaskGroup.13dfc4f1.png";

2.3 Navigator.sendBeacon

  目前通用的埋点方案,有两个参数,第一个参数是目标服务器的 URL,第二个参数是所要发送的数据(可选),可以是任意类型(字符串、表单对象、二进制对象等等)。

  sendBeacon 如果成功进入浏览器的发送队列后,会返回true;如果受到队列总数、数据大小的限制后,会返回false。返回ture后,只是表示进入了发送队列,浏览器会尽力保证发送成功,但是否成功了,不会再有任何返回值。

3.对比

  ajax:缺点是容易跨域,且可能失败,需要考虑失败场景,可能需要同步(避免异常中断);

  img: 兼容性好,不操作dom,不会阻塞html的解析,但img加载后并不渲染,它需要等待Render Tree生成完后才和Render Tree一起渲染出来。而且,通常埋点上报会使用gif图,合法的 GIF 只需要 43 个字节;

  Navigator.sendBeacon:更规范,异步,可跨域,对页面的影响几乎没有。

 

部分摘自掘金:https://juejin.cn/post/7224132741997281338

标签:常用,img,前端,发送,ajax,sendBeacon,埋点,加载
From: https://www.cnblogs.com/ljwsyt/p/17640139.html

相关文章

  • yum下载常用方法
    yum自动下载RPM包及其所有依赖的包至/root/rpm目录:yuminstall--downloadonly--downloaddir=/root/rpm<package-name>切换到下载目录rpm中批量安装rpm-ivh*--nodeps--forceyum命令本身就可以用来下载一个RPM包,标准的yum命令提供了downloadonly(只下载)的选项来达到这个......
  • sftp常用命令
    help查看sftp支持哪些命令ls 查看当前目录下文件cd指定目录lcd更改和/或打印本地工作目录pwd查看当前目录lpwd打印本地工作目录getxxx.txt下载xxx文件putxxx.txt上传xxx文件quit/bye/exit退出sftpsftp xxx.xxx.xxx.xxx 登录root用户......
  • 在Android Studio中统计代码行数可以通过插件或者内置的工具来实现。以下是两种常用的
    在AndroidStudio中统计代码行数可以通过插件或者内置的工具来实现。以下是两种常用的方法:**方法一:使用插件:**1.打开AndroidStudio,点击顶部菜单中的"File"(文件)。2.选择"Settings"(设置)或"Preferences"(首选项),然后在弹出的窗口中选择"Plugins"(插件)。3.在搜索框中输入"Code......
  • linux 文件压缩常用命令
    一、常见文件压缩格式Windows和Linux下的压缩文件格式有一些共同的,也有一些不同的。以下是一些常见的压缩文件格式:.zip:这是Windows中最常用的压缩格式,也是Linux中可以识别的一种压缩格式,可以方便地和Windows系统通用压缩文件。在Linux中,可以使用zip和unzip命令来压缩和解压.zip文......
  • 第六章、web前端架构师
    目录十二、通用上传组件开发以及使用1、导学2、上传组件需求以及开发流程十二、通用上传组件开发以及使用1、导学*开发通用上传组件-通过TDD的方式,开发一个通用上传组件,然后将组件添加到编辑器中进行使用,从这个过程中衍生出很多的相关知识点*主要内容-模......
  • Linux Shell下awk,sed,cut的常用方法并在自动化运维脚本中联合运用
    AWK处理工具,它可以用于提取、处理和格式化文本数据。它的主要功能是逐行扫描文件,并根据匹配模式执行操作。AWK具有以下主要特点:读取和处理文本文件中的数据根据匹配模式执行操作逐行扫描文件打印指定的列在自动化运维脚本中,AWK可以用于处理日志文件,例如提取特定行的数据、从日志文......
  • Git ( 目标 + 概述 + 安装与常用命令 + 远程仓库 + IDEA 中使用 )
    Git分布式目录Git分布式1、目标2、概述2.1开发中的实际场景2.2版本控制器的方式2.3Git2.4Git工作流程图3、Git安装与常用命令3.1Git环境配置3.1.1下载与安装3.1.2基本配置3.1.3为常用指令配置别名3.2获取本地仓库3.3基础操作指令3.3.1创建、查看状态、提交、查看提......
  • 企业内容建站系统 ModStartCMS v7.0.0 多语言开发优化,多个常用组件升级
    ModStart是一个基于Laravel模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。系统完全开源,基于Apache2.0开源协议,免费且不限制商业使用。功能特性丰富的模块市场,后台一键快速安装会员模块通用且完整,支持完整的API调用大......
  • 前端页面常见的布局方式有以下几种
    前端页面常见的布局方式有以下几种1、文档流--内联元素从左往右排列,块级元素从上往下排列。2、float(浮动)布局3、position(定位)布局4、displayinline-block(行向)布局5、margin布局6、display:flex弹性布局7、display:grid栅格布局1、文档流(正常流,也叫文档流)内联元......
  • Linux常用命令
    目录结构具体介绍/bin:是Binary的缩写,这个目录存放着最经常使用的文件/sbin:s就是superuser的意思,这里存放着系统管理员使用的系统管理程序/home:存放着普通用户的主目录,在linux中的每一个用户都有一个自己的目录,一般该目录是以用户的账号命名的/root:该目录为系统管理员,也称作......