Skip to content

上报埋点或数据的方式

1. 使用img的src做请求发送

优点:不用做特殊处理,没有跨域的限制,script标签,img标签都可以直接发送跨域的GET请求,兼容性比较好,有些页面可能禁用了脚本,这时script标签久不能使用了。img就没有这个限制。

当我们使用img的src标签访问的时候,就会触发访问这个get请求。这个时候服务端就会接收到前端发送的请求。

2. navigator.sendBeacon()

sendBeacon的优点:

  • 使用sendBeacon()方法会使用户代理在浏览器空闲时异步的向服务器发送数据,不会和主要业务代码抢占资源,
  • 在页面卸载的时也能保证请求成功发送,同时不会延迟页面的卸载或影响下一页面的载入性能。

缺点:

  • sendBeacon是有浏览器兼容问题的,所以我们使用的时候为了完善,还是要用img这种方式来进行兜底。