返回 blog
2021年1月26日
6 分钟阅读

浏览器监控信息

埋点概述

埋点系统

一、浏览器的基本信息(navigator)

属性名说明示例返回值返回值类型浏览器支持度
appCodeName返回浏览器相关的内部代码名Mozillastring66.05%
appName返回浏览器正式名称Netscapestring66.05%
appVersion返回浏览器版本号5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36string66.05%
cookieEnabled返回浏览器是否启用cookietrueboolean97.27%
javaEnabled()返回当前浏览器是否支持 Java,从而知道浏览器是否能显示 Java 小程序falseboolean57.01%
language返回浏览器的首选语言zh-CNstring-
mimeTypes返回浏览器支持的Mime类型-Array-
onLine返回是否连接互联网trueboolean-
platform返回浏览器所在平台MacIntelstring66.05%
plugins返回浏览器插件集合-Array66.05%
product返回浏览器产品名Geckostring-
userAgent返回浏览器类型Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36string66.05%
languages返回浏览器默认语言设置顺序[“zh-CN”, “zh”, “zh-TW”, “en-US”, “en”]Array89.22%
deviceMemory返回千兆字节为单位的大概的机器内存8float73.13%
doNotTrack返回用户的do-not-track设置,如果用户不允许网站,内容和广告等进行跟踪,则该值为yes.nullnull | string78.46%
hardwareConcurrency当前浏览器环境所拥有的CPU核心数8int95.84%
maxTouchPoints返回当前设备能够支持的最大同时触摸的点数。0int90.81%
vendor返回浏览器供应商名称Google Inc.string96.95%
vendorSub浏览器供应商的版本号string95.86%
connection.downlink网络下行速度 (M/s)10int-
connection.rtt估算的往返时间 (ms)100int-
connection.effectiveType网络类型4gstring73.76%
connection.saveData打开/请求数据保护模式falseboolean-

二、接口请求的信息(ajax-hooks拦截接口请求)

属性名说明示例返回值返回值类型
method请求的方式GETstring
url请求的地址/xdnphb/common/account/get?nonce=b9863f24c&xyz=d69bd7dfaf86801953690c3150863028string
response返回值{“success”:true,“value”:{“code”:“000000”,“message”:“成功”,“data”:{“status”:false}}}string

三、屏幕信息(screen)

属性名说明示例返回值返回值类型浏览器支持度
availWidth返回当前屏幕宽度(空白空间)1920int67.64%
availHeight返回当前屏幕高度(空白空间)967int83.43%
width返回当前屏幕宽度(分辨率值)1920int67.64%
height返回当前屏幕高度(分辨率值)1080int67.64%

四、网页信息(document)

属性名说明示例返回值返回值类型浏览器支持度
title当前页面标题新榜后台管理系统string-
body.clientWidth当前浏览器宽度63int96.86%
body.clientHeight当前浏览器高度1535int96.86%
cookie当前的cookie值UM_distinctid=172bfd238a91bc-0608878352fa83-14396257-13c680-172bfd238aa669; __root_domain_v=.newrank.cn; _qddaz=QD.hgn9gb.c7ajy7.kbinr8e1; _ga=GA1.2.1224567440.1603806681; Hm_lvt_a19fd7224d30e3c8a6558dcb38c4beed=1603462842,1603520572,1603678401,1603959752; Hm_lpvt_a19fd7224d30e3c8a6558dcb38c4beed=1604657945string-

五、网页用户行为(click)

属性名说明返回值类型
clientX鼠标指针的X坐标int
clientY鼠标指针的Y坐标int
targetid、class、innerHTML、parentTarget等dom信息

六、性能信息(performance)

6.1、timing:从输入url到用户可以使用页面的全过程时间统计

属性名说明示例返回值返回值类型浏览器支持度
navigationStart同一个网页中,前一个页面卸载的时间戳1604974622508int87.19%
unloadEventStartunload事件被触发之时的 Unix毫秒时间戳1604974622516int95.96%
unloadEventEnd为unload事件处理程序结束之时的 Unix毫秒时间戳1604974622516int95.96%
redirectStart第一个 HTTP 重定向完成时的时间。(有跳转且是同域名内的重定向才算,)0int95.96%
redirectEnd最后一个 HTTP 重定向完成时的时间。(有跳转且是同域名内的重定向才算,)0int95.96%
domainLookupStartDNS 域名查询开始的时间(如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等)1604974622509int95.96%
domainLookupEndDNS 域名查询完成的时间(如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等)1604974622509int95.96%
fetchStart浏览器准备好使用 HTTP 请求抓取文档的时间,这发生在检查本地缓存之前1604974622509int95.96%
connectStartHTTP(TCP) 开始建立连接的时间,如果是持久连接,则与 fetchStart 值相等,如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接开始的时间1604974622509int95.96%
connectEndHTTP(TCP) 完成建立连接的时间(完成握手),如果是持久连接,则与 fetchStart 值相等,如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接完成的时间1604974622509int95.96%
domContentLoadedEventStartDOM 解析完成后,网页内资源加载开始的时间,文档发生 DOMContentLoaded事件的时间1604974622520int95.96%
domContentLoadedEventEndDOM 解析完成后,网页内资源加载完成的时间(如 JS 脚本加载执行完毕),文档的DOMContentLoaded 事件的结束时间1604974622520int95.96%
domCompleteDOM 树解析完成,且资源也准备就绪的时间,Document.readyState 变为 complete,并将抛出 readystatechange 相关事件1604974622520int95.96%
loadEventStartload 事件发送给文档,也即 load 回调函数开始执行的时间,如果没有绑定 load 事件,值为 01604974622520int95.96%
loadEventEndload 事件的回调函数执行完毕的时间,如果没有绑定 load 事件,值为 01604974622520int95.96%

常用计算: DNS查询耗时 :domainLookupEnd - domainLookupStart TCP链接耗时 :connectEnd - connectStart request请求耗时 :responseEnd - responseStart 解析dom树耗时 : domComplete - domInteractive 白屏时间 :responseStart - navigationStart domready时间(用户可操作时间节点) :domContentLoadedEventEnd - navigationStart onload时间(总下载时间) :loadEventEnd - navigationStart

6.2、navigation 当前页面如何导航到此处

6.2.1 type 导航标志

属性值说明返回值类型浏览器支持度
0普通进入,包括:点击链接、在地址栏中输入 URL、表单提交、或者通过除下表中 TYPE_RELOAD 和 TYPE_BACK_FORWARD 的方式初始化脚本。int-
1通过刷新进入,包括:浏览器的刷新按钮、快捷键刷新、location.reload()等方法。int-
2通过操作历史记录进入,包括:浏览器的前进后退按钮、快捷键操作、history.forward()、history.back()、history.go(num)。int-
255其他非以上类型的方式进入。int-

6.2.2 redirectCount 重定向次数

示例属性值说明返回值类型浏览器支持度
0到达当前页面时,重定向的次数,有同源策略限制,即仅能检测同源的重定向。int-

6.3 memory 内存信息

属性值说明示例返回值返回值类型浏览器支持度
jsHeapSizeLimit内存大小限制2190000000int-
totalJSHeapSize可使用的内存10000000int-
usedJSHeapSizeJS对象(包括V8引擎内部对象)占用的内存,如果大于totalJSHeapSize,有可能出现了内存泄漏10000000int-

6.4 timeOrigin

示例属性值说明返回值类型浏览器支持度
1604974622508.6448performance测量开始时间int-