尝试了来自Uncaught ReferenceError: _gaq is not defined (Google Analytics)的建议,但没有帮助。
这是我的初始代码段:
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
var pageTracker pageTracker = _gat._createTracker('UA-xxxxxxxx-1');
<button onclick="pageTracker._setCustomVar(1,'customvar1', 'value', 3);
pageTracker._trackPageview();">Fire</button>
答案 0 :(得分:1)
这是解决方案(添加延迟):
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
var pageTracker;
setTimeout(function(){
pageTracker = _gat._createTracker('UA-xxxxxxxx-1');
pageTracker._initData();
}, 1000);
<button onclick="pageTracker._setCustomVar(1,'customvar1', 'value', 3);
pageTracker._trackPageview();">Fire</button>
在我的测试中,我发现1秒是一个很好的延迟时间 - 任何不到1秒的时间都会产生更高的 _gat undefined 错误的可能性。
答案 1 :(得分:0)
老问题,我知道,但我能够通过将第一个代码段包含在<head>
标记中来修复我的“_gat未定义”错误。然后在我要跟踪的页面上包含身体任何位置的第二个片段。
所以这是<head
:
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
在您要跟踪的任何页面上显示:
pageTracker = _gat._createTracker('UA-xxxxxxxx-1');
pageTracker._trackPageview();