Appearance
上报埋点或数据的方式
1. 使用img的src做请求发送
优点:不用做特殊处理,没有跨域的限制,script标签,img标签都可以直接发送跨域的GET请求,兼容性比较好,有些页面可能禁用了脚本,这时script标签久不能使用了。img就没有这个限制。
当我们使用img的src标签访问的时候,就会触发访问这个get请求。这个时候服务端就会接收到前端发送的请求。
2. navigator.sendBeacon()
sendBeacon的优点:
- 使用sendBeacon()方法会使用户代理在浏览器空闲时异步的向服务器发送数据,不会和主要业务代码抢占资源,
- 在页面卸载的时也能保证请求成功发送,同时不会延迟页面的卸载或影响下一页面的载入性能。
缺点:
- sendBeacon是有浏览器兼容问题的,所以我们使用的时候为了完善,还是要用img这种方式来进行兜底。