出站 link 跟踪和 'undefined' links

Outbound link tracking and 'undefined' links

我已经在运行良好的网站上安装了以下出站 link 跟踪代码。

问题是它导致网站上的图像滑块中的点出现问题(使用 flexslider)。单击这些点时,它们通常会将图像滑块移动到该幻灯片,但 link 跟踪脚本导致页面重新加载并转到“/未定义”(即 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);
            }
        }
    });
});

任何有关如何解决此问题的提示都将不胜感激。

提前致谢,

汤姆

您可以过滤选择器结果或检查 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);
            }
        }
    });
});