当我在本地主机中删除谷歌分析时,如何忽略整个网站的 ga() 事件跟踪代码?
Posted
技术标签:
【中文标题】当我在本地主机中删除谷歌分析时,如何忽略整个网站的 ga() 事件跟踪代码?【英文标题】:How can I ignore ga() event tracking code throughout my site when I remove google analytics in localhost? 【发布时间】:2014-01-13 00:26:33 【问题描述】:在本地主机上,我通过将其合并到 if 语句中来禁用我的谷歌分析代码,如下所示:
var s = window.location + "";
if (s.indexOf('localhost') < 0)
//GA universal analytics tracking snippet
但是,在我的整个站点中,有各种使用 ga('send', 'event', etc...);
的事件标签 - 当我的 GA sn-p 在 localhost 上被禁用时,这些函数会返回错误 (Uncaught ReferenceError: ga is not defined
)。
有没有办法禁用这些功能而不将它们全部放入单独的 if 语句中?我在想像这样的某种全局声明可能会起作用,但它不起作用:
var s = window.location + "";
if (s.indexOf('localhost') > 0)
ga = function () ;
有解决此问题的最佳实践吗?谢谢!
【问题讨论】:
【参考方案1】:这样做会更简单:
var ga = ga || (function());
如果定义了ga
,则什么都不做。如果是undefined
,则将其值设置为无操作函数,从而防止错误。
但我不认为在开发时禁用脚本是一个好主意:它使另一个理由在生产中出现意外错误。在我看来,这里的最佳做法是在 Google Analytics 中添加一个过滤器。见Exclude internal traffic。
【讨论】:
另外,如果您将“setDomainName”设置为您的生产 URL,GA 仍会下载,但不会触发到您的帐户:***.com/questions/4375447/… 这对我有用。当您不想在本地开发环境中使用任何跟踪代码时,这是一个简单的解决方案。以上是关于当我在本地主机中删除谷歌分析时,如何忽略整个网站的 ga() 事件跟踪代码?的主要内容,如果未能解决你的问题,请参考以下文章
当我尝试让谷歌授权获取错误:网站发布时无效请求错误。认证 1.0