2015-04-28 2 views
0

Со страницы поддержки Google https://support.google.com/analytics/answer/1136920?hl=en#GAПочему: target => "_ blank" не работает в моем коде?

Я добавил код ниже.

<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> 

Теперь я хочу изменить свой атрибут OnClick в качестве ссылки изображения, чтобы отслеживать, так что я использовал код ниже

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

Я не проверил, если отслеживания работает еще, но: цель => «_ blank», похоже, не работает, ссылка открывается на той же странице. Что не так в моем коде?

+0

с 'вернуться ложным;' вы говорите якорь не следовать по ссылке – Aguardientico

+0

Спасибо, но теперь, когда я извлекал возвращение ложным; он дважды открывает ссылки, один раз на новой вкладке и другой на той же странице. Помогите пожалуйста, – Postscripter

+0

См. мой ответ ниже – Aguardientico

ответ

1

У вас есть две проблемы:

  1. return false не позволяет якорь следовать по ссылке, поэтому первое исправление, чтобы удалить этот код из onclick
  2. В вашем trackOutboundLink ваш рассказываете в обратный вызов для изменения текущего местоположения документа на новый URL-адрес (якорный URL-адрес), а также удалить обратный вызов:

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

Смежные вопросы