对我司自研的前端监控系统的前端SDK进行总结
上报方式:
当SDK拿到错误的所有信息时需要上报到服务端,有几种方式上报服务端
通过xhr上报
通过xhr
上报,如果设置成异步的时候,当用户跳转新页面或者关闭页面时就会丢失当前这个请求,如果设置成同步,又会让页面造成卡顿的现象
Image的形式来发送请求
特点:
- 没有跨域问题、
- 发 GET 请求之后不需要获取和处理数据、
- 服务器也不需要发送数据、
- 不会携带当前域名 cookie、不会阻塞页面加载,影响用户的体验,只需 new Image 对象、
- 相比于 BMP/PNG 体积最小,可以节约 41% / 35% 的网络资源小
Navigator.sendBeacon
**MDN:**可用于通过HTTP将少量数据异步传输到Web服务器,统计和诊断代码通常要在 unload
或者 beforeunload
事件处理器中发起一个同步 XMLHttpRequest
来发送数据。同步的 XMLHttpRequest
迫使用户代理延迟卸载文档,并使得下一个导航出现的更晚。下一个页面对于这种较差的载入表现无能为力
特点:</