神秘的“_gaq未定义”错误... _gaq甚至没有在页面的任何地方引用!

时间:2010-07-12 06:07:43

标签: php javascript google-analytics

编辑:这个问题已经解决,但我现在还不能接受我自己的答案。

你好!

所以我有一个PHP / CodeIgniter webapp。我有一些基于Ajax的自定义跟踪代码插入到我的页面中 - 但是很明显,出于测试目的,我不想在我在开发计算机上本地运行该站点时触发此代码。

为了避免Google Analytics跟踪,我在源代码中使用了这个:

<?php if ($_SERVER['HTTP_HOST'] != 'localhost:8888'){ ?>
    _gaq.push(['_trackPageview', '/my/ajax/page']);
<?php } ?>

这样可以完成源代码中的工作 - 当我在http://localhost:8888(MAMP的URL)时,它不会出现。当我现场直播时,会出现。活泉。

但是我发现了一些看似无限的错误。当您单击一个触发Ajax事件的链接时,Firebug日志会反复填充并向上和向上填充错误,如果您将其留下几分钟就可以进入数千个(我猜这是一个无限循环)。每次错误都是:

_gaq is not defined

然后它引用它localhost:8888 (line 26)。第26行写道:

<!-- Includes for Uniform JS -->

只是评论......我已经删除了(以及后面的Uniform JS脚本链接),同样的错误,只是去了下一行。所以我认为它可能是上面的脚本导致它的问题,那就是Typekit。注释掉Typekit,仍然是同一个问题。哎哟。

有人知道这里出了什么问题吗?

*我可以忘记PHP阻止位吗?我可以在Google Analytics中阻止我的localhost吗?问题是我在使用动态IP,因此每次打开计算机时更改Google Analytics设置都会让人感到痛苦*。

谢谢!

杰克

编辑:我应该明确指出,每个对Google Analytics的引用都放在<?php ?>块之间,包括页面底部的声明。所以它不像是出现了一些Analytics JS而不是其他的。

1 个答案:

答案 0 :(得分:0)

问题解决了。感谢所有阅读此问题并为我考虑答案的人。

这很简单:

<?php if ($_SERVER['HTTP_HOST'] == 'localhost:8888') { ?>

结果我错误地写了==,而不是!=一次出现PHP块!

哎呀,谢谢!