为什么Google的Google Analytics跟踪代码首先执行?

时间:2011-07-17 17:55:27

标签: javascript google-analytics

我正在谷歌分析中使用自定义变量,并且不确定为什么以下实际上有效。为什么Google的跟踪代码会先被执行,特别是因为它位于页面的底部?

这两个脚本都是自动执行的函数,那么javascript如何确定首先执行哪一个?

 // top of the page
  <script type="text/javascript">
              $(function ()
              {
                    _gaq.push(['_setCustomVar', 1, 'Account', 'PartTime', 1]);
              });
        </script> 


// bottom of the page
        <script type="text/javascript">

            var _gaq = _gaq || [];
            _gaq.push(['_setAccount', 'UA-xxxxxxxxxx']);
            _gaq.push(['_setDomainName', '.xxxxxxxx.com']);
            _gaq.push(['_trackPageview']);

            (function ()
            {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
            })();

         </script>  

1 个答案:

答案 0 :(得分:5)

第一个执行首先执行,不执行

它包含对$函数的调用,并且有一个参数:匿名函数。

$是一个命名非常糟糕的函数。这个名字本身毫无意义,它被六个不同的图书馆采用,可以做六个不同的事情。

在jQuery中,如果将函数传递给$,则在触发ready事件时(但正在解析HTML文档的末尾)运行该函数。这可能就是这里发生的事情。