Appearance
前端埋点方式
基于 ajax 的埋点上报
和后端约定一个接口通过ajax进行数据上报,缺点:请求会存在跨域风险。
基于 img 的埋点上报
使用 script、link、img 支持跨域的标签去实现数据上报功能
使用 img 标签做埋点上报
img标签加载并不需要挂载到页面上,设置图片 src 属性就可以直接请求图片。
使用:
const newUrl = `${url}?${arr.join('&')}`; // 参数拼接在请求地址上
const img = document.createElement('img');
img.src = newUrl;
注:通常埋点上报会使用gif图,合法的 GIF 只需要 43 个字节; 大多采用的是1*1像素的透明GIF来上报。
navigator.sendBeacon
https://developer.mozilla.org/zh-CN/docs/Web/API/Navigator/sendBeacon