原理就是搜集信息(有可能是异常或者某些行为),在适当的时候上传服务器
比如如下代码,可以监控页面加载时间,按钮点击事件、页面异常信息等
还有现成的监控产品,比如sentry
myButton.addEventListener('click', ()=>{
console.log('test test');
})
function trackEvent(eventType, details) {
console.log(`Event: ${eventType}`, details);
// 上报
}
window.addEventListener('load', function () {
const pageLoadTime = performance.now()
trackEvent('page_load', {
duration: pageLoadTime
})
})
function apiPreformance () {
const start = performance.now()
fetch('https://api.test.com')
.then(res => res.json())
.then(data=> {
const duration = performance.now() - start
trackEvent('api_call', {
duration,
endpoint: 'https://api.test.com'
})
})
}
window.onerror = function (message, source, lineno, colno, error) {
trackEvent('page_error', {
message,
source,
lineno,
colno,
error
})
}
''.push('a');