为什么 :target=>"_blank" 在我的代码中不起作用?

Why :target=>"_blank" is not working in my code?

来自 google 支持页面 https://support.google.com/analytics/answer/1136920?hl=en#GA

我添加了以下代码。

<script>
/**
* Function that tracks a click on an outbound link in Google Analytics.
* This function takes a valid URL string as an argument, and uses that URL string
* as the event label.
*/
var trackOutboundLink = function(url) {
   ga('send', 'event', 'outbound', 'click', url, {'hitCallback':
     function () {
     document.location = url;
     }
   });
}
</script>

现在我想修改要跟踪的图像 link 的 onclick 属性,所以我使用了以下代码

<%= link_to image_tag("banner.png", :alt => "ad"), 
          "https://www.someexternalsite.com", 
          :target=>"_blank" ,
          :onclick=> "trackOutboundLink('https://www.seomexternalsite.com'); return false;"
%>

我还没有检查跟踪是否有效,但 :target=>"_blank" 似乎无效,link 在同一页面上打开。我的代码有什么问题?

您有两个问题:

  1. return false 不允许锚点跟随 link,因此第一个修复是从 onclick
  2. 中删除该代码
  3. 在您的 trackOutboundLink 中,您在回调中告诉您将当前文档位置更改为新的 url(锚点 url),因此还要删除回调:

    var trackOutboundLink = function(url) { ga('send', 'event', 'outbound', 'click', url); }