我一直在使用这个谷歌分析代码来跟踪mailto链接,但它根本无法正常工作。我觉得它很简单(某个地方或某个地方缺少一个支架),但我已经尝试了几件事而且无法理解。有什么建议吗?
<script type="text/javascript">
$(document).ready(function(){
$('a').mouseup(function(){
href = $(this).attr('href');
if (href !== null) {
href_lower = href.toLowerCase();
if(href_lower.substr(-3) == "pdf" || href_lower.substr(-3) == "xls" || href_lower.substr(-3) == "doc" ||
href_lower.substr(-3) == "mp3" || href_lower.substr(-3) == "mp4" || href_lower.substr(-3) == "flv" ||
href_lower.substr(-3) == "txt" || href_lower.substr(-3) == "csv" || href_lower.substr(-3) == "zip") {
_gaq.push(['_trackEvent', 'Downloads', href_lower.substr(-3), href]);
}
}
else if (href_lower.substr(0, 4) == "http") {
var domain = document.domain.replace("www.",'');
if(href_lower.indexOf(domain) == -1){
href = href.replace("http://",'');
href = href.replace("https://",'');
_gaq.push(['_trackEvent', 'Outbound Traffic', href]);
} else if (href && href.match(/^mailto\:/i)) {
jQuery(this).click(function() {
var mailLink = href.replace(/^mailto\:/i, '');
_gaq.push(['_trackEvent', 'Email', 'Click', mailLink]);
});
}
}
}
)
});
答案 0 :(得分:2)
您正在
答案 1 :(得分:0)
这部分代码
else if (href_lower.substr(0, 4) == "http")
只有当这是真的时,mailto条件才有机会运行但是当这是真的时,mailto条件将始终为false,因为mailto语法不以“http”开头
<a href="mailto:someone@example.com">Send email</a>
我认为你可能会做类似
的事情if(href !== null) { // ....}
else {
if(href_lower.indexOf('mailto:') !== -1) { // mailto code }
else { other than mailto code }
}