Отслеживание событий - необходимо, чтобы ссылка открывалась в новом окне, не рассматриваясь как всплывающее окно

0

Здесь сценарий с https://support.google.com/analytics/answer/1136920?hl=ru

<script type="text/javascript">
function trackOutboundLink(link, category, action) { 

try { 
_gaq.push(['_trackEvent', category , action]); 
} catch(err){}

setTimeout(function() {
document.location.href = link.href;
}, 2000);
}
</script>

<a href="http://www.example.com" onClick="trackOutboundLink(this, 'Outbound Links', 'example.com'); return false;">Visit example</a>

Сценарий, предлагаемый Google Analytics, работает хорошо, но только для одного я хочу, чтобы ссылка открывалась в новой вкладке или окне через 2 секунды, не блокируя блокировщик всплывающих окон в основных браузерах, таких как Chrome и IE и т.д.

Я попытался использовать _blank, чтобы он стал <a target="_blank" href="http://www.example.com" onClick="trackOutboundLink(this, 'Outbound Links', 'example.com'); return false;">Visit example</a> но это не сработает.

Открытие нового окна с помощью window.open() в setTimeout() будет рассматриваться как всплывающее окно и блокируется блокировщиком всплывающих окон. Я не хочу, чтобы новое окно (или вкладка) рассматривалось как всплывающее окно.

Все в коде GA отлично, за исключением новой вкладки/окна, в которой я нуждаюсь. Пожалуйста помоги.

Спасибо и оцените ваше время.

Южная Каролина

  • 0
    Почему бы вам не открыть окно сразу, а установить фокус на главное окно, а затем через 2 секунды сфокусировать новое окно?
  • 0
    Вы имеете в виду использование self.focus ()? Я пробовал это, но это не сработало. Кроме того, я узнал, что Firefox будет выполнять запросы на повышение окна, только если установлена опция безопасности, и она не установлена по умолчанию. Насколько я могу судить, Chrome вообще не будет обращать внимания на запросы focus (). Safari выполняет запрос focus (). Любое другое предложение? И, пожалуйста, предоставьте код, так как я не знаком с JS. Я могу только приблизительно догадываться, что делает сценарий, но я не могу создать его самостоятельно. Благодарю.
Теги:
google-analytics

1 ответ

0

Ну, вы можете вызвать клик, используя библиотеку jquery.

  • Подключите jquery-библиотеку к вашему проекту, например:

  • И вы должны сделать невидимую одну ссылку, а затем вызвать ее:

http://jsfiddle.net/PingOfDeath/5tkAz/2/

$( "#link" ).trigger( "click" );

Тогда ваш html должен выглядеть так:

<a href="#" onClick="trackOutboundLink('http://www.example.com', 'Outbound Links', 'example.com'); return false;">Visit example</a>
<a id="link" href="http://www.example.com" target="blank_" hidden="true">Visit example</a>
  • 0
    Привет PingOfDeath, спасибо за ваше предложение, но оно не сработало как в Chrome, так и в IE (я изменил ваш blank_ на _blank. Если вы переходите на jsfiddle.net/5tkAz, он не работает, когда вы выполнить его в панели результатов. Любое предложение, которое работает? Спасибо заранее.
  • 0
    @SC mb ты должен включить свой ga.js в файл? :) ну я обновил свой форк: jsfiddle.net/PingOfDeath/5tkAz/2

Ещё вопросы

Сообщество Overcoder
Наверх
Меню