【前端100问】Q49:为什么通常在发送数据埋点请求的时候使用的
2021-01-14 本文已影响0人
alanwhy
写在前面
此系列来源于开源项目:前端 100 问:能搞懂 80%的请把简历给我
为了备战 2021 春招
每天一题,督促自己
从多方面多角度总结答案,丰富知识
为什么通常在发送数据埋点请求的时候使用的是 1x1 像素的透明 gif 图片?
简书整合地址:前端 100 问
正文回答
- 能够完成整个 HTTP 请求+响应(尽管不需要响应内容)
- 触发 GET 请求之后不需要获取和处理数据、服务器也不需要发送数据
- 跨域友好
- 执行过程无阻塞
- 相比 XMLHttpRequest 对象发送 GET 请求,性能上更好
- GIF 的最低合法体积最小(最小的 BMP 文件需要 74 个字节,PNG 需要 67 个字节,而合法的 GIF,只需要 43 个字节)
var thisPage = location.href;
var referringPage = document.referrer ? document.referrer : "none";
var beacon = new Image();
beacon.src =
"http://www.example.com/logger/beacon.gif?page=" +
encodeURI(thisPage) +
"&ref=" +
encodeURI(referringPage);