Javascript:链接href目标

时间:2012-07-08 15:25:51

标签: javascript javascript-events onclick google-analytics

我正在使用标准Google Analytics javascript代码来跟踪我网站上的出站链接:

  function recordOutboundLink(link, category, action) {
    _gat._getTrackerByName()._trackEvent(category, action);
    setTimeout('document.location = "' + link.href + '"', 100);
  }

即使我在链接中添加“target ='_ blank”,所有链接仍然在同一窗口/标签中打开。我尝试添加'document.location.target',但脚本尚未运行。< / p>

1 个答案:

答案 0 :(得分:3)

document.location = newURL将在现有窗口中打开该网址。您可以使用window.open(newURL)在新窗口中打开网址。

其他一些事情:

  1. document.location已被弃用 - 请改用location.href
  2. 您可以通过不传递操作来简化代码,而是从链接href获取代码。
  3. 尝试以下

    <a href='http://example.com' onclick="return recordOutboundLink(this, 'Outbound Link');">
    
    function recordOutboundLink(link, category) {
      var url = link.href;
      _gat._getTrackerByName()._trackEvent(category, url);
      if (link.target == '_blank') 
        window.open(url);
      else 
        setTimeout(function() {location.href = url;}, 150);
      return false;
    }
    

    仅供参考:为什么仅使用setTimeout在现有窗口中打开URL?开始在现有窗口中打开新URL可以在分析跟踪像素请求完成之前暂停其。如果您在新窗口中打开URL,则无需延迟。