Javascript google analytics trackEvent是如何工作的?
我试图理解这是如何工作的:Javascript google analytics trackEvent是如何工作的?,javascript,google-analytics,Javascript,Google Analytics,我试图理解这是如何工作的: _gaq = _gaq || []; _gaq.push(['trackEvent', 'something', 'bleee']); 好的,我明白了,我正在把数据放入一个神奇的数组中。但是谷歌的脚本怎么知道我已经做到了呢?它必须轮询此数组(不太可能),或者在用户离开页面时对其执行某些操作 我发现在离开页面时发出请求通常会导致连接在请求完成之前关闭 有人能给我解释一下这个魔法是如何工作的吗?谷歌已经用一个自定义的.push()方法创建了自己的对象。因此,当你把一些
_gaq = _gaq || [];
_gaq.push(['trackEvent', 'something', 'bleee']);
好的,我明白了,我正在把数据放入一个神奇的数组中。但是谷歌的脚本怎么知道我已经做到了呢?它必须轮询此数组(不太可能),或者在用户离开页面时对其执行某些操作
我发现在离开页面时发出请求通常会导致连接在请求完成之前关闭
有人能给我解释一下这个魔法是如何工作的吗?谷歌已经用一个自定义的
.push()
方法创建了自己的对象。因此,当你把一些东西推到“数组”上时,它会激活更多的代码(一个函数),从而创建一个跟踪像素和wallah
Google这样做是为了,如果您在计算G.A.代码段之前尝试使用\u gaq
数组的push方法,您只需创建一个命令队列发送给Google(在标准数组中)。如果已经对G.A.代码段进行了评估,那么实际上您正在运行Google创建的自定义函数来替换.push
方法
此函数名为push,以便在本地使用数组
在Analytics完全加载之前的_gaq。而分析是
加载时,命令将被推送到/排队到阵列上。当分析
加载完成后,它将用_gaq对象替换数组,然后
执行所有排队的命令。对_gaq.push的后续调用
解析此函数,该函数在命令被推送时执行命令
*资料来源:*
加载库时,google analytics js库将读取数组gaq。 _gaq只是库成功加载时要调用的方法(及其参数)列表。
Piwik,另一个Web分析系统,也使用同样的方法。我相信他们完全用一个新对象取代了
\u gaq
,所以一旦分析代码运行,它就不再是数组了。@MatthewCrumley Good call,我的措辞很笨拙。按照这种逻辑,\u gaq.push(…)
在加载库后不会跟踪任何内容。事实并非如此。@mkoryak-创建此方法是为了实现异步跟踪。很久以前,应该在加载js跟踪库之前定义数组。google改进了使用对象替换数组的方法,以便在js库加载前后提供相同的接口。