前端监控错误主要关注三大方面:
- js脚本错误
- dom错误
- 接口请求错误
js脚本发生错误的监听
window.onerror=function(msg,source,lineNumber,colNumber,error){}
收集不同域js的错误时,
- js文件的response header需要设置Access-Control-Allow-Origin:*
不设置Access-Control-Allow-Origin时会提示无法捕获,返回的是null
- 应用js文件时设置crossorigin
不设置crossorigin会提示“脚本跨域错误,无法加载”
dom错误
主要是script引入js时,jsonp错误或者seajs/requirejs错误
window.createElement=(...args)=>{
const dom=args[0];
dom.onerror=(e)=>{
}
}
接口请求错误 ajax/fetch
fetch
fetch.then().catch(error)
ajax
XMLHttpRequest.prototype.open=function(){
this.onloadend=()=>{}
this.ontimeout=()=>{}
XMLHttpRequest.prototype.open.apply(this.arguments)
}
参考开源项目CSIJS