课程思维导图
Q:前端错误分类有哪些?
- 即时运行错误,如代码错误
- 资源加载错误
Q:前端错误捕获方式分别是什么?
- 即时错误的捕获方式
- try-catch
- window.onerror(只能捕获即时错误)
- 资源加载错误的捕获方式
- Object.onerror
- performance.getEntries() 拿到所有成功加载资源的集合
- Error事件捕获
Q:如何使用Object.onerror捕获资源加载错误?
(注意:<font style="color: red">这种错误不会冒泡,但可以捕获</font>)
```javascript
window.addEventListener('error', function (e) {
console.log(e)
}, true);
```
Q:跨域的JS运行错误可以捕获么?错误提示是什么,应该怎么处理?
可以捕获,提示“Script error”,具体错误信息无法获得
解决方案:
- 客户端:在script标签增加crossorigin属性
- 服务端:设置JS资源响应头Access-Control-Allow-Origin
Q:客户端上报错误的基本原理是什么?
- 使用Ajax通信的方式上报
- 利用Image对象上报:(new Image()).src = "http ://xxx/com/test";