当我在localhost中删除google analytics时,如何忽略整个网站中的ga()事件跟踪代码?

时间:2013-12-24 20:18:31

标签: javascript google-analytics universal-analytics

在localhost上,我通过将其合并到if语句中来禁用我的Google Analytics代码:

var s = window.location + "";

if (s.indexOf('localhost') < 0) {
    //GA universal analytics tracking snippet
}

但是,在我的网站中,使用ga('send', 'event', etc...);有各种事件代码 - 当我在本地主机上禁用我的GA代码段时,这些函数会返回错误(Uncaught ReferenceError: ga is not defined)。

有没有办法禁用这些功能而不将它们全部放入各自的if语句中?我认为这样的全局陈述可能有用,但它没有:

var s = window.location + "";

if (s.indexOf('localhost') > 0) {
    ga = function () {};
}

解决这个问题有一个很好的最佳做法吗?谢谢!

1 个答案:

答案 0 :(得分:8)

这样做会更简单:

var ga = ga || (function(){});

如果定义ga,则不执行任何操作。如果是undefined,则将其值设置为无操作函数,以防止错误。

但是我认为在开发时禁用脚本并不是一个好主意:它还有一个原因让生产中出现意外错误。在我看来,这里的最佳做法是在Google Analytics中添加过滤器。请参阅Exclude internal traffic

相关问题