前端錯誤可歸納為兩種類型桃犬,捕獲方式如下:
1.即時運行錯誤(代碼錯誤)
try{
//代碼
}catch(e){
//錯誤信息
}
window.addEventListener('error', function(e){
//錯誤信息
})
2.資源加載錯誤
onerror 事件
http://www.w3school.com.cn/jsref/event_onerror.asp
支持該事件的 HTML 標簽:<img>, <object>, <style>
支持該事件的 JavaScript 對象:window, image
performance.getEntries()
https://developer.mozilla.org/en-US/docs/Web/API/Performance/getEntries
返回一個數(shù)組剥槐,顯示該頁面所有靜態(tài)資源的Timing信息,每個數(shù)組成員就是一個PerformanceResourceTiming對象
window.addEventListener('error', function(e){
//錯誤信息
}, true)
上報錯誤:
利用Image對象上報
(new Image()).src = "錯誤上報地址?err=錯誤信息"
//頁面埋點通常也使用這種方式上報
利用ajax通訊上報
//與ajax請求類似