前端错误的分类可分为两大类:
- 即时运行错误:代码错误
- 资源加载错误
错误的捕获方式:
即时运行错误的捕获方式
- try…catch
- window.onerror
资源加载错误的捕获方式
- object.onerror
- performance.getEntries()
可以通过document.getElementsByTagName得到需要加载的资源,再用performance.getEntries().forEach(item=>{console.log(item.name)})得到加载成功的资源,两者一相减就得到加载失败的资源。 - Error事件捕获 (设置为冒泡无法收集Error事件)
跨域的js运行错误可以捕获吗,错误提示什么,应该怎么处理?
1、在script标签 增加crossorigin属性
2、设置js资源响应头Access-Control-Allow-Origin:*
**
上报错误的基本原理:
**
1、采用Ajax通信的方式上报,
2、利用Image对象上报(所有的错误监控基本都是用这种方式上报的)
(new Image()).src = 'http://xxx.com/xxx?xx=xxx’