window.redirect 如何使用 onclick 函数?

How to use onclick function with window.redirect?

我有一份问卷,一旦用户回答了所有问题,它就会自动将用户重定向到下一页。我还需要使用 onclick 函数在用户离开时触发一些像素(因为我无权访问下一页的代码)。通常,我会简单地将函数添加到用户点击离开的a href,但在这种情况下没有a href。

这是我使用的重定向代码:

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

下面是onclick函数使用的像素代码,fbLeadEvent()

您可以看到 Google Analytics 和 Snapchat 的像素是由 fbLeadEvent() 函数内部的函数 pixelEvent() 触发的

<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 函数呢?

只用window.location,没有'redirect'

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

但是,您确实应该从 DNS 级别进行重定向,客户端重定向是一个相当大的 no-no。还要确保它具有正确的 headers... 301 或 302