Как использовать функцию onclick с window.redirect? - PullRequest
0 голосов
/ 18 марта 2019

У меня есть вопросник, который автоматически перенаправляет пользователя на следующую страницу после того, как он ответил на все вопросы. Мне также нужно использовать функцию onclick для запуска некоторых пикселей, когда пользователь уходит (так как у меня нет доступа к коду следующей страницы). Обычно я просто добавляю функцию к href, которую пользователь щелкает, чтобы выйти, но в этом случае href отсутствует.

Вот код перенаправления, который я использую:

<script>
    window.redirect = () => {
        window.location.href = "NEXT_PAGE_URL"
    }
</script>

Ниже приведен пиксельный код, используемый для функции onclick, fbLeadEvent ()

Вы можете видеть, что пиксели для Google Analytics и Snapchat запускаются функцией pixelEvent (), которая находится внутри функции fbLeadEvent ()

<script type="text/javascript">
/* Global site tag (gtag.js) - Google Analytics*/
window.dataLayer = window.dataLayer || []
function gtag() {
  dataLayer.push(arguments)
}
gtag('js', new Date())
gtag('config', 'UNIVERSAL_ANALYTICS_ID')
gtag('config', 'ADWORDS_ID')
/* Trigger Pixel Code */
function pixelEvent() {
  snaptr('track','VIEW_CONTENT')
  gtag('event', 'generate_lead', {
    'send_to': 'ADWORDS_ID',
    'user_id': 'replace with value'
  })
}
</script>


<script>
  !function(f,b,e,v,n,t,s) {
  if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  n.callMethod.apply(n,arguments):n.queue.push(arguments)};
  if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
  n.queue=[];t=b.createElement(e);t.async=!0;
  t.src=v;s=b.getElementsByTagName(e)[0];
  s.parentNode.insertBefore(t,s)}(window, document,'script',
  'https://connect.facebook.net/en_US/fbevents.js');
  fbq('init', 'FACEBOOK_ID')
  fbq('track', 'PageView')
  function fbLeadEvent() {
    window._fbq.push('track', 'Lead')
    pixelEvent()
  }
</script>

Так как же использовать функцию onclick с автоматическим перенаправлением?

1 Ответ

0 голосов
/ 18 марта 2019

Просто используйте window.location без функции 'redirect'

function fbLeadEvent() {
  window._fbq.push('track', 'Lead')
  window.location = "https://www.NEXT_PAGE_DOMAIN.com/page?queryString=1"
}

Тем не менее, вы действительно должны выполнять перенаправления с уровня DNS, перенаправление на стороне клиента довольно большое, нет-нет.Также убедитесь, что он имеет правильные заголовки ... 301 или 302

...