错误的捕获方式:
即时运行错误的捕获方式
1)try...catch 2) window.onerror
资源加载错误
1) object.onerror 2) performance.getEntries()
控制台运行:
performance.getEntries().forEach(item=>{
console.log(item.name);
})
3) Error事件捕获
<script type="text/javascript"> window.addEventListener('error', function(e){ console.log('捕获', e); }, true) // 默认false,是冒泡,所以要写成true </script> <script src="//wwww.baidu.com/test.js"></script>
跨域的js运行错误可以捕获吗,错误提示是什么,应该怎么处理
可以,错误信息都是 Script error,行号和列号都无法拿到。因为已经跨域了,没有权限
那么怎么做呢
第一步,在script标签增加 crossorigin 属性
第二步,在服务端,设置js资源响应头 Access-Control-Allow-Origin: *
上报错误的基本原理
1、采用Ajax通信的方式上报
2、利用Image对象上报
(new Image()).src="http://baidu.com/test/?r=sdsfsdf";