我想用jQuery來跟蹤網頁上的下載和其他事件。這很難調試。下面的代碼目前沒有工作。假設頁面加載了jQuery庫,並且所有的XXXX被替換爲正確的信息。有任何想法嗎?非常感激!jQuery谷歌分析跟蹤
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX']);
_gaq.push(['_setDomainName', 'XXXXX.com']);
_gaq.push(['_addIgnoredRef', 'XXXXX.com']);
_gaq.push(['_trackPageview']);
if (jQuery) {
jQuery(document).ready(function() {
jQuery('a').click(function() {
var $a = jQuery(this);
var href = ($a.attr('href')) ? $a.attr('href') : '';
if ((href.match(/^http/i)) && (!href.match(document.domain))) {
var category = 'outgoing - XXXX Landing';
var event = 'click - XXXX Landing';
_gaq.push(['_trackEvent', category, event, href]);
} else {
if (href.match(/.(doc|pdf|xls|ppt|zip|txt|vsd|vxd|js|css|rar|exe|wma|mov|avi|wmv|mp3)$/i)) {
var category = 'download - XXXX Landing';
var event = 'click - XXXX Landing';
_gaq.push(['_trackEvent', category, event, href]);
} else {
if (href.match(/^mailto:/i)) {
var category = 'mailto - XXXX Landing';
var event = 'click - XXXX Landing';
_gaq.push(['_trackEvent', category, event, href]);
}
}
}
});
});
}
(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';
if ('http:' == document.location.protocol) {
ga.src = 'http://www.google-analytics.com/ga.js';
} else {
ga.src = 'https://ssl.google-analytics.com/ga.js';
}
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ga, s);
})();
</script>
這很難調試,部分原因是它的格式非常糟糕。你需要在你的問題和實際的代碼中糾正這個問題,如果你剛剛複製和粘貼它。 – Bojangles
我已經用'console.log'而不是'_gaq.push'試過了你的代碼,它工作得很好。可能是'_gaq.push(['_ setDomainName','XXXXX.com']);'包含document.domain之外的其他域(例如,您正在本地主機上測試)。這種不匹配可能會阻止Google分析跟蹤。 – CodingHamster
首先要調試你應該用** console.log()或alert(); ** - 來查看你的jQuery代碼是否正常工作,以取代所有** _ gaq.push()**調用 – shershen