我想知道如何收集数据并将其发送到他们的服务器,然后我在SO上找到this answer。现在我想知道为什么GA使用这种方法而不是做一个AJAX请求,它更便宜吗?
答案 0 :(得分:3)
它本身并不便宜,它是可靠的。与AJAX不同,您可以包含来自任何域的图像,而不会遇到跨域浏览器限制,这就是使用跟踪像素而不是ajax请求的原因。
答案 1 :(得分:2)
正如Rob所说,它主要是为了解决旧浏览器不支持的跨域问题。但是,截至目前,GA已添加对navigator.sendBeacon()
方法的支持,其中实际上更便宜,允许重试错误,并且不会出现页面失败的问题正在卸载(例如当用户点击出站链接时尝试发送事件)。随着浏览器支持的增加,这可能会成为向GA发送匹配的默认方法。
以下是有关如何将sendBeacon
与analytics.js一起使用的文档:
https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#useBeacon