1

我正在尝试与另一家公司的谷歌分析代码合作。不幸的是,我没有太多经验,只了解代码的基础知识。

我正在使用的以下代码应该跟踪跨浏览器点击:(我已经删除了大部分代码并编写了重要的部分)

if (($(link).attr('href').indexOf('example.com') != -1) && 
         (window.location.href.indexOf('example.com') == -1)) {
  $(link).bind('click', function (l) {
    if (typeof (_gat) == "object") {
      l.preventDefault();
      _gaq.push(['_link', $(link).attr('href')]);
    }
  });
}

现在我遇到的问题是阻止默认设置现在阻止所有外部链接在新窗口中打开。

如何修改此代码并维护跟踪,以便他们仍然这样做?

4

1 回答 1

2

_linkset 在location.href内部跳转到新的 URL,但忽略链接中的任何目标属性。_link您可以_getLinkerUrl自己使用和关注 URL ,而不是使用

$(link).bind('click', function (l) {
  if (typeof (_gat) == "object") {
      var pageTracker = _gat._getTrackerByName();
      var url = pageTracker._getLinkerUrl(this.href);
      l.preventDefault();
      if ($(this).attr('target') != '_blank') location.href = url;
      else window.open(url);
  }
});
于 2012-04-24T16:24:15.713 回答