0
我試圖捕獲某些下載鏈接的點擊並在Google Analytics中跟蹤它們。這裏是我的代碼使用Google Analytics執行trackPageview時出現問題
var links = document.getElementsByTagName("a");
for (var i = 0; i < links.length; i++) {
linkpath = links[i].pathname;
if(linkpath.match(/\.(pdf|xls|ppt|doc|zip|txt)$/) || links[i].href.indexOf("mode=pdf") >=0){
//this matches our search
addClickTracker(links[i]);
}
}
function addClickTracker(obj){
if (obj.addEventListener) {
obj.addEventListener('click', track , true);
} else if (obj.attachEvent) {
obj.attachEvent("on" + 'click', track);
}
}
function track(e){
linkhref = (e.srcElement) ? e.srcElement.pathname : this.pathname;
pageTracker._trackPageview(linkhref);
}
一切直到pageTracker._trackPageview()調用的作品。在我的調試中,linkhref作爲字符串被正確地傳遞。沒有異常的人物,沒有什麼問題在於,通過觀看我的http請求,Google從不會再跟蹤gif(就像在「onclick」屬性中調用此函數一樣)。從我的JS控制檯調用跟蹤器也能按預期工作。這隻在我的聽衆中。
難道我的聽衆在沒有機會聯繫Google服務器之前沒有推遲默認操作(加載新頁面)?我見過其他跟蹤腳本,它們沒有任何推遲做類似的事情。
是的,我試過跟蹤靜態路徑如你所說,這也不能工作。肯定確保GA在這個腳本之前加載,並且沒有骰子。 – dmrnj 2009-08-12 14:08:50
我覺得自從這差不多一年之後,我就要將這個問題歸咎於更新,而且我多次遇到這個問題。 我的_pageTracker對象正在使用_setDomainName(),但我在本地嘗試此代碼。當域衝突時,跟蹤JS顯然加載,但跟蹤像素永遠不會被調用。 – dmrnj 2010-07-21 13:12:04