我打算使用Google Analytics Measurement Protocol。我目前正计划通过将其作为URL参数包含在某些Ajax请求中来捕获客户端ID(cid)。使用Google Analytics跟踪器客户端ID(cid)
我发现我可以公开这样的客户端ID值:
var ga_cid;
ga(function(tracker) {
ga_cid = tracker.get('clientId');
});
我很担心,这条路线是拙劣的形式,因为它是污染全局命名空间。但是,我一直无法找到更优雅的(最佳实践)解决方案。
什么是“正确”的方式?我是否在说这个?
您所提供的代码是从他们的文档中的一个。它不会使客户端ID可供使用,因此我的帖子。 – Sonny
不,实际上两个代码之间存在巨大差异。如果你在函数外面声明var,你将它增加到全局范围。只要在函数中声明变量,就可以将范围保持为本地。 http://stackoverflow.com/questions/500431/what-is-the-scope-of-variables-in-javascript – pal4life
你误会了我。我知道你给出的例子中的值范围是本地的。这是官方文件中的例子。正如我所讨论的那样,让它在本地存在并不能让我能够访问JavaScript中其他位置的值,就像在进行Ajax调用时一样。这就是为什么我提出了我的修改版本,以及是否是实现它的方式,还是有更好的路线。 – Sonny