为什么JavaScript跟踪器使用img标记而不是XMLHttpRequest?
我正在尝试构建一个javascript分析跟踪器,比如google analytics。我试图研究其他一些实现的源代码,他们使用为什么JavaScript跟踪器使用img标记而不是XMLHttpRequest?,javascript,analytics,Javascript,Analytics,我正在尝试构建一个javascript分析跟踪器,比如google analytics。我试图研究其他一些实现的源代码,他们使用img或script标记来调用API后端进行跟踪 我想知道他们为什么不使用XMLHttpRequest发出请求?我的猜测是为了避免被反追踪者拦截,但不确定 有人知道吗?有几个原因: 传统:例如Google Analytics最初创建于“像素”跟踪是前端分析的事实标准时 浏览器兼容性:和的实现在所有浏览器中都是相同的(只需添加标记),而XMLHttpRequest与旧浏
img
或script
标记来调用API后端进行跟踪
我想知道他们为什么不使用XMLHttpRequest
发出请求?我的猜测是为了避免被反追踪者拦截,但不确定
有人知道吗?有几个原因:
- 传统:例如Google Analytics最初创建于“像素”跟踪是前端分析的事实标准时
- 浏览器兼容性:
和
的实现在所有浏览器中都是相同的(只需添加标记),而
与旧浏览器的情况不同XMLHttpRequest
- 易实现性:只需添加
和
就可以了,使用
您实际上需要编写一些代码XMLHttpRequest
- 健壮性/防止阻塞:
很难被检测为与广告/跟踪相关,因为从另一个域加载具有复杂URL的图像实际上是常见的做法(例如,考虑CDN) - 网络/电子邮件跨平台:您可以使用
实现电子邮件跟踪,但不能使用
(出于安全原因被阻止) - JavaScript支持:禁用JS后,像素跟踪仍然有效