Google Analytics代码,它是如何工作的?

5

从这里开始:http://www.google.com/support/analyticshelp/bin/answer.py?hl=zh-CN&answer=1136920

这是一个关于Google Analytics的帮助文档,它解释了如何使用Google Analytics来追踪网站的访问量和用户行为。在文档中,你可以找到如何设置Analytics帐户、如何添加跟踪代码以及如何查看分析报告等信息。

<script type="text/javascript">
function recordOutboundLink(link, category, action) {
  try {
    var myTracker=_gat._getTrackerByName();
    _gaq.push(['myTracker._trackEvent', ' + category + ', ' + action + ']);
    setTimeout('document.location = "' + link.href + '"', 100)
  }catch(err){}
}
</script>

如果您注意到+类别+和+操作+用引号括起来。那么分析脚本如何获取它们的值呢?

很有可能传递的字符串会被 eval 执行。 - Kevin B
它能在另一个函数的上下文中被评估吗? - mbdev
这是一个例子,http://jsfiddle.net/uEqkC/ - Kevin B
在你的例子中,类别和操作与 eval 相同的函数上。而分析代码,如果有 eval,则在定义类别和操作的范围之外。 - mbdev
你说得对... 这超出了范围。这没有意义。 - Kevin B
1个回答

2

这是他们文档的错误,他们的代码无法按预期工作。

那行应该写成:

_gaq.push(['myTracker._trackEvent',  category ,  action ]);

您说得对。他们的方式是将类别和操作作为文字字符串传递,而不是传递包含这些字符串的变量。


我问的原因是分析事件跟踪没有起作用。我会看看这段代码是否有效。谢谢。 - mbdev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接