我可能搞錯了onClick
javascript在leanstartupcircle.com。我試圖用javascript添加鏈接跟蹤到我用屬性標記的所有出站鏈接。無論我做什麼都阻止target="_blank"
運作,並且可能不會觸發事件。target =「_ blank」由於谷歌Analytics(分析)跨域javascript鏈接跟蹤未打開新頁面
另一條信息target="_blank"
在分期和開發中工作正常,因爲我沒有在這些服務器上顯示Google Analytics分析的初始代碼。這就是爲什麼我相信我的JavaScript不正確。
可以使用更好的一雙眼睛。我究竟做錯了什麼?
function parseUrl(url) {
var a = document.createElement('a');
a.href = url;
return a;
};
function getDomain(url) {
hostname = parseUrl(link).hostname
splitHostname = hostname.split('.');
if (splitHostname.length > 2) {
domain = splitHostname[1] // Most likely the domain
} else {
domain = splitHostname[0]
};
return domain;
};
function trackLinks() {
// Setup outbound link tracking and push events to GA based on link attribute linkTracking
$('a').each(function() {
link = $(this).attr('href');
linkTracking = $(this).attr('linkTracking');
if (linkTracking) {
category = linkTracking.toLowerCase()
action = getDomain(link);
label = link;
$(this).attr('target', '_blank').attr('onClick', '_gaq.push(["_link", "' + link + '"]); return false; ' +
'recordOutboundLink(this, "' + category + '", "' + action + '", "' + label + '"); return false;');
};
});
};
這是我的谷歌分析代碼。谷歌爲了使用跨域跟蹤提出了一些修改建議:
var _gaq = _gaq || [];
var pluginUrl =
'//www.google-analytics.com/plugins/ga/inpage_linkid.js';
_gaq.push(['_require', 'inpage_linkid', pluginUrl]); // Enhanced Link Attribution
_gaq.push(['_setAccount', 'UA-30468280-1']);
_gaq.push(['_setDomainName', 'leanstartupcircle.com']);
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_trackPageview']);
(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);
})();
// Delay outbound page load in order to record outbound links
function recordOutboundLink(link, category, action) {
try {
var myTracker=_gat._getTrackerByName();
_gaq.push(['myTracker._trackEvent', category , action ]);
setTimeout('document.location = "' + link.href + '"', 100)
}catch(err){}
}
嗯...鏈接工作,它只是在同一個框架中打開。所以這不可能是整個故事。我也會更新我的谷歌分析代碼。 – TLK
好的,現在我正在查看分析代碼,顯然這是打開鏈接在同一個窗口中:'setTimeout('document.location =''+ link.href +'「',100)'我猜我可以將其修改爲在新標籤中打開......或者在'delay()'之後觸發點擊會更好嗎? – TLK