我在一个运行良好的网站上安装了以下出站链接跟踪代码。
麻烦的是它导致网站上的图像滑块中的点出现问题(使用flexslider)。单击这些点时,它们通常会将图像滑块移动到该幻灯片,但链接跟踪脚本会导致页面重新加载并转到“/ undefined”(即www.domain.com/undefined)。
$(function() {
$("a").on('click',function(e) {
var url = $(this).attr("href");
if (e.currentTarget.host != window.location.host) {
_gat._getTrackerByName()._trackEvent("Outbound Links", e.currentTarget.host.replace(':80',''), url, 0);
if (e.metaKey || e.ctrlKey || this.target == "_blank") {
var newtab = true;
}
if (!newtab) {
e.preventDefault();
setTimeout('document.location = "' + url + '"', 100);
}
}
});
});
如何解决这个问题的任何提示都将受到高度赞赏。
提前致谢,
汤姆
答案 0 :(得分:1)
您可以过滤选择器结果或检查何时未定义href,这似乎是滑块的点,如下所示:
$(function() {
$("a").on('click', function(e) {
var url = $(this).attr("href");
if (url && e.currentTarget.host != window.location.host) {
_gat._getTrackerByName()._trackEvent("Outbound Links", e.currentTarget.host.replace(':80', ''), url, 0);
if (e.metaKey || e.ctrlKey || this.target == "_blank") {
var newtab = true;
}
if (!newtab) {
e.preventDefault();
setTimeout('document.location = "' + url + '"', 100);
}
}
});
});