前端错误分类
1:即时运行错误:代码错误
2:资源加载错误
错误捕捉方式
1:即时运行错误:代码错误
1-1:try..catch
1-2:window.onerror
2:资源加载错误
2-1:object.onerror
2-2:performance.getEntries()获取已加载资源的加载时长
2-3:Error事件捕获
<script>
window.addEventListener('error', function (e) {
console.log('捕获', e);
}, true)
</script>
</head>
<body>
<script src="xxx.js"></script>
2-4:js为跨域的,它的错误还能被捕获嘛?
可以捕获
怎么捕获?
两步走
客户端:
在srcipt标签增加crossorigin属性
服务端:
设置js资源响应头Access-Control-Allow-Origin:*
上报错误的基本原理
1:采取ajax通讯方式上报
2:利用image对象上报
(new Image()).src='http://baidu.com/tesjk?r=tksjk';