我们当前的外部链接代码没有正常工作,所以我被要求制定一个新的集合。这是我从另一个网站上取下来的代码,但它看起来好像工作正常(保存 $().ready 它丢失了)。我很清楚 Google 建议您将 onclick 手动放入每个外部链接中,但是在我的网站上这样做是可行的,所以我将 JQuery 作为一个包罗万象的方法。我无法在用户通常无法访问的多个页面上实现此功能(由于监管偏执狂),因此不得不激活页面内分析以查看该页面的统计信息。尽管我发现(使用警报)_gaq.push 至少会触发,但没有点击外部链接注册。这是代码(现已修复):
$().ready(function(){
$("a").on('click',function(e){
var url = $(this).attr("href");
if (e.currentTarget.host != window.location.host) {
_gaq.push(['_trackEvent', 'Outbound Link', e.currentTarget.host, url, 0]);
if (e.metaKey || e.ctrlKey || this.target=="_blank") {
var newtab = true;
}
if (!newtab) {
e.preventDefault();
setTimeout('document.location = "' + url + '"', 100);
}
}
});
});
(!newtab) if 是为了确保 _gaq.push 使用超时触发。有什么想法可以解决吗?
编辑:可能值得注意的是,这是一个外部文件。
Edit2:代码已更正错误,以便其他想要使用它的人轻松复制/粘贴。非常感谢迈克。