簡介
sunshine-track 應(yīng)用于前端監(jiān)控, 基于 行為上報,實現(xiàn)了 用戶行為、錯誤監(jiān)控、頁面跳轉(zhuǎn)、頁面白屏檢測、頁面性能檢測等上報功能。適用于 Vue、React、Angular 等框架FGT28資訊網(wǎng)——每日最新資訊28at.com
本項目源碼:https://github.com/sanxin-lin/sunshine-track。各位兄弟姐妹如果覺得喜歡的話,可以點個 star 哦~FGT28資訊網(wǎng)——每日最新資訊28at.com
功能
sunshine-track具備以下功能:FGT28資訊網(wǎng)——每日最新資訊28at.com
- ? 用戶行為上報:包括 點擊、跳轉(zhuǎn)頁面、跳轉(zhuǎn)頁面記錄數(shù)組、請求 等
- ? 用戶手動上報:提供 Vue 自定義指令 以及add、report函數(shù),實現(xiàn)用戶手動上報
- ? 自定義上報:提供 格式化上報數(shù)據(jù)、自定義上報函數(shù)、自定義決定上不上報 等配置項,更靈活地上報數(shù)據(jù)
- ? 請求數(shù)據(jù)上報:提供 檢測請求返回、過濾請求 等配置項,讓用戶決定上報哪些請求數(shù)據(jù)
- ? 上報方式:提供 上報方式 配置項,用戶可選擇 img、http、beacon 三種方式,http方式又支持 xhr、fetch 兩種,且支持 自定義headers
- ? 上報數(shù)據(jù)緩存:可配置 本地緩存、瀏覽器本地緩存、IndexedDB 三種方式
- ? 上報數(shù)據(jù)閾值:可配置上報數(shù)據(jù) 閾值 ,達到 閾值 后進行上報操作
- ? 全局點擊上報:可通過配置 選擇器、元素文本,對全局DOM節(jié)點進行點擊上報
- ? 頁面的性能檢測,包括 白屏、FP、FCP、LCP、CLS、TTFB、FID 等
上報數(shù)據(jù)格式
選項 FGT28資訊網(wǎng)——每日最新資訊28at.com | 描述 FGT28資訊網(wǎng)——每日最新資訊28at.com | 類型 FGT28資訊網(wǎng)——每日最新資訊28at.com |
uuidFGT28資訊網(wǎng)——每日最新資訊28at.com
| 上報數(shù)據(jù)的id FGT28資訊網(wǎng)——每日最新資訊28at.com | stringFGT28資訊網(wǎng)——每日最新資訊28at.com
|
type FGT28資訊網(wǎng)——每日最新資訊28at.com
| 上報數(shù)據(jù)的類型 FGT28資訊網(wǎng)——每日最新資訊28at.com | stringFGT28資訊網(wǎng)——每日最新資訊28at.com
|
data FGT28資訊網(wǎng)——每日最新資訊28at.com
| 上報數(shù)據(jù) FGT28資訊網(wǎng)——每日最新資訊28at.com | anyFGT28資訊網(wǎng)——每日最新資訊28at.com
|
timeFGT28資訊網(wǎng)——每日最新資訊28at.com
| 上報時間 FGT28資訊網(wǎng)——每日最新資訊28at.com | numberFGT28資訊網(wǎng)——每日最新資訊28at.com
|
statusFGT28資訊網(wǎng)——每日最新資訊28at.com
| 上報狀態(tài) FGT28資訊網(wǎng)——每日最新資訊28at.com | stringFGT28資訊網(wǎng)——每日最新資訊28at.com
|
domainFGT28資訊網(wǎng)——每日最新資訊28at.com
| 當前域名 FGT28資訊網(wǎng)——每日最新資訊28at.com | stringFGT28資訊網(wǎng)——每日最新資訊28at.com
|
hrefFGT28資訊網(wǎng)——每日最新資訊28at.com
| 當前網(wǎng)頁路徑 FGT28資訊網(wǎng)——每日最新資訊28at.com | stringFGT28資訊網(wǎng)——每日最新資訊28at.com
|
userAgentFGT28資訊網(wǎng)——每日最新資訊28at.com
| 當前user-agent FGT28資訊網(wǎng)——每日最新資訊28at.com | stringFGT28資訊網(wǎng)——每日最新資訊28at.com
|
deviceInfoFGT28資訊網(wǎng)——每日最新資訊28at.com
| 設(shè)備的相關(guān)信息 FGT28資訊網(wǎng)——每日最新資訊28at.com | objectFGT28資訊網(wǎng)——每日最新資訊28at.com
|
安裝
圖片FGT28資訊網(wǎng)——每日最新資訊28at.com
使用
圖片FGT28資訊網(wǎng)——每日最新資訊28at.com
全局點擊監(jiān)聽
可以通過配置globalClickListeners來對于某些DOM節(jié)點進行點擊監(jiān)聽上報FGT28資訊網(wǎng)——每日最新資訊28at.com
圖片FGT28資訊網(wǎng)——每日最新資訊28at.com
配置上報閾值
上報分為幾種:FGT28資訊網(wǎng)——每日最新資訊28at.com
- 用戶行為上報:點擊、跳轉(zhuǎn)頁面、請求,這些上報數(shù)據(jù)會緩存著,當達到閾值時再進行上報
- 錯誤上報:請求報錯、代碼報錯、異步錯誤,這些是立即上報
- 頁面性能上報:白屏、FP、FCP、LCP、CLS、TTFB、FID,這些是立即上報
用戶行為上報的閾值默認是 10,支持自定義 maxEventsFGT28資訊網(wǎng)——每日最新資訊28at.com
圖片FGT28資訊網(wǎng)——每日最新資訊28at.com
配置緩存方式
如果你想要避免用戶重新打開網(wǎng)頁之后,造成上報數(shù)據(jù)的丟失,那么你可以配置緩存方式,通過配置cacheType:FGT28資訊網(wǎng)——每日最新資訊28at.com
- normal:默認,本地緩存
- storage:瀏覽器 localStorage 本地緩存
- db:瀏覽器 IndexedDB 本地緩存
app.use(Track, { ...options, cacheType: 'storage' // 配置緩存方式})
打印上報數(shù)據(jù)
可以通過配置 log ,開啟打印上報數(shù)據(jù)。FGT28資訊網(wǎng)——每日最新資訊28at.com
圖片FGT28資訊網(wǎng)——每日最新資訊28at.com
靈活上報請求數(shù)據(jù)
請求也是一種行為,也是需要上報的,或許我們有這個需求。FGT28資訊網(wǎng)——每日最新資訊28at.com
- 過濾:某些請求我們并不想上報。
- 自定義校驗請求響應(yīng)數(shù)據(jù):每個項目的響應(yīng)規(guī)則可能都不同,我們想自己判斷哪些響應(yīng)是成功,哪些是失敗。
圖片FGT28資訊網(wǎng)——每日最新資訊28at.com
格式化上報數(shù)據(jù)、自定義決定上不上報、自定義上報
如果你想在數(shù)據(jù)上報之前,格式化上報數(shù)據(jù)的話,可以配置report中的format。FGT28資訊網(wǎng)——每日最新資訊28at.com
圖片FGT28資訊網(wǎng)——每日最新資訊28at.com
如果你想要自己決定某次上報的時候,進行取消,可以配置report中的isReport。FGT28資訊網(wǎng)——每日最新資訊28at.com
圖片FGT28資訊網(wǎng)——每日最新資訊28at.com
如果你不想用這個庫自帶的上報功能,想要自己上報,可以配置report中的customReport。FGT28資訊網(wǎng)——每日最新資訊28at.com
圖片FGT28資訊網(wǎng)——每日最新資訊28at.com
手動上報
手動上報分為三種:FGT28資訊網(wǎng)——每日最新資訊28at.com
- 手動添加上報數(shù)據(jù):添加到緩存中,等到達到閾值再上報。
- 手動執(zhí)行數(shù)據(jù)上報:立即上報。
- 自定義指令上報:如果你是 Vue 項目,支持指令上報。
圖片FGT28資訊網(wǎng)——每日最新資訊28at.com
如果你是 Vue 項目,可以使用指令v-track進行上報。FGT28資訊網(wǎng)——每日最新資訊28at.com
圖片FGT28資訊網(wǎng)——每日最新資訊28at.com
配置參數(shù)
選項 FGT28資訊網(wǎng)——每日最新資訊28at.com | 描述 FGT28資訊網(wǎng)——每日最新資訊28at.com | 類型 FGT28資訊網(wǎng)——每日最新資訊28at.com |
projectKeyFGT28資訊網(wǎng)——每日最新資訊28at.com
| 項目key FGT28資訊網(wǎng)——每日最新資訊28at.com | stringFGT28資訊網(wǎng)——每日最新資訊28at.com
|
userIdFGT28資訊網(wǎng)——每日最新資訊28at.com
| 用戶id FGT28資訊網(wǎng)——每日最新資訊28at.com | stringFGT28資訊網(wǎng)——每日最新資訊28at.com
|
report.urlFGT28資訊網(wǎng)——每日最新資訊28at.com
| 上報url FGT28資訊網(wǎng)——每日最新資訊28at.com | stringFGT28資訊網(wǎng)——每日最新資訊28at.com
|
report.reportTypeFGT28資訊網(wǎng)——每日最新資訊28at.com
| 上報方式 FGT28資訊網(wǎng)——每日最新資訊28at.com | img、http、beaconFGT28資訊網(wǎng)——每日最新資訊28at.com
|
report.headersFGT28資訊網(wǎng)——每日最新資訊28at.com
| 上報自定義請求頭,http 上報模式生效FGT28資訊網(wǎng)——每日最新資訊28at.com | objectFGT28資訊網(wǎng)——每日最新資訊28at.com
|
report.formatFGT28資訊網(wǎng)——每日最新資訊28at.com
| 上報數(shù)據(jù)格式化 FGT28資訊網(wǎng)——每日最新資訊28at.com | functionFGT28資訊網(wǎng)——每日最新資訊28at.com
|
report.customReportFGT28資訊網(wǎng)——每日最新資訊28at.com
| 自定義上報 FGT28資訊網(wǎng)——每日最新資訊28at.com | functionFGT28資訊網(wǎng)——每日最新資訊28at.com
|
report.isReportFGT28資訊網(wǎng)——每日最新資訊28at.com
| 自定義決定上不上報 FGT28資訊網(wǎng)——每日最新資訊28at.com | functionFGT28資訊網(wǎng)——每日最新資訊28at.com
|
cacheTypeFGT28資訊網(wǎng)——每日最新資訊28at.com
| 數(shù)據(jù)緩存方式 FGT28資訊網(wǎng)——每日最新資訊28at.com | normal、storage、dbFGT28資訊網(wǎng)——每日最新資訊28at.com
|
globalClickListenersFGT28資訊網(wǎng)——每日最新資訊28at.com
| 上報狀態(tài) FGT28資訊網(wǎng)——每日最新資訊28at.com | arrayFGT28資訊網(wǎng)——每日最新資訊28at.com
|
logFGT28資訊網(wǎng)——每日最新資訊28at.com
| 當前域名 FGT28資訊網(wǎng)——每日最新資訊28at.com | booleanFGT28資訊網(wǎng)——每日最新資訊28at.com
|
maxEventsFGT28資訊網(wǎng)——每日最新資訊28at.com
| 上報閾值 FGT28資訊網(wǎng)——每日最新資訊28at.com | numberFGT28資訊網(wǎng)——每日最新資訊28at.com
|
historyUrlsNumFGT28資訊網(wǎng)——每日最新資訊28at.com
| 需要記錄的url跳轉(zhuǎn)數(shù)組 FGT28資訊網(wǎng)——每日最新資訊28at.com | numberFGT28資訊網(wǎng)——每日最新資訊28at.com
|
checkHttpStatusFGT28資訊網(wǎng)——每日最新資訊28at.com
| 判斷響應(yīng)數(shù)據(jù) FGT28資訊網(wǎng)——每日最新資訊28at.com | functionFGT28資訊網(wǎng)——每日最新資訊28at.com
|
filterHttpUrlFGT28資訊網(wǎng)——每日最新資訊28at.com
| 過濾上報請求數(shù)據(jù) FGT28資訊網(wǎng)——每日最新資訊28at.com | functionFGT28資訊網(wǎng)——每日最新資訊28at.com
|
switchs.xhrFGT28資訊網(wǎng)——每日最新資訊28at.com
| 是否開啟xhr請求上報 FGT28資訊網(wǎng)——每日最新資訊28at.com | booleanFGT28資訊網(wǎng)——每日最新資訊28at.com
|
switchs.fetchFGT28資訊網(wǎng)——每日最新資訊28at.com
| 是否開啟fetch請求上報 FGT28資訊網(wǎng)——每日最新資訊28at.com | booleanFGT28資訊網(wǎng)——每日最新資訊28at.com
|
switchs.errorFGT28資訊網(wǎng)——每日最新資訊28at.com
| 是否開啟錯誤上報 FGT28資訊網(wǎng)——每日最新資訊28at.com | booleanFGT28資訊網(wǎng)——每日最新資訊28at.com
|
switchs.whitescreenFGT28資訊網(wǎng)——每日最新資訊28at.com
| 是否開啟白屏檢測上報 FGT28資訊網(wǎng)——每日最新資訊28at.com | booleanFGT28資訊網(wǎng)——每日最新資訊28at.com
|
switchs.hashchangeFGT28資訊網(wǎng)——每日最新資訊28at.com
| 是否開啟hash變化請求上報 FGT28資訊網(wǎng)——每日最新資訊28at.com | booleanFGT28資訊網(wǎng)——每日最新資訊28at.com
|
switchs.historyFGT28資訊網(wǎng)——每日最新資訊28at.com
| 是否開啟history變化上報 FGT28資訊網(wǎng)——每日最新資訊28at.com | booleanFGT28資訊網(wǎng)——每日最新資訊28at.com
|
switchs.performanceFGT28資訊網(wǎng)——每日最新資訊28at.com
| 是否開啟頁面性能上報 FGT28資訊網(wǎng)——每日最新資訊28at.com | booleanFGT28資訊網(wǎng)——每日最新資訊28at.com
|
本項目源碼:https://github.com/sanxin-lin/sunshine-track。各位兄弟姐妹如果覺得喜歡的話,可以點個 star 哦~FGT28資訊網(wǎng)——每日最新資訊28at.com
本文鏈接:http://m.www897cc.com/showinfo-26-92466-0.html為了全面監(jiān)控用戶行為,我寫了個超級前端工具庫!
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: 關(guān)于 Python 數(shù)據(jù)分析的 15 個 NumPy 應(yīng)用
下一篇: 動態(tài)鏈接庫的實現(xiàn)原理是什么?