【问题标题】:Google analytics _trackPageview callback谷歌分析_trackPageview回调
【发布时间】:2011-01-04 04:40:20
【问题描述】:

有没有办法为 _trackPageview 完成定义回调?

我有以下代码来跟踪用户何时登录我的网站,并在之后刷新页面:

pageTracker._trackPageview('/login/complete');
location.reload(true);

上述代码的问题在于 _trackPageview 将图像附加到 DOM 并且不能保证图像在页面刷新之前加载。

【问题讨论】:

    标签: google-analytics


    【解决方案1】:

    覆盖页面中当前的Image()函数是一种解决方案:

      var oldImage = window.Image;
      window.Image = function()
      {
          var self = this;
          var theImage = new oldImage();
          $(theImage).load(function(){
              // Analytics ajax finished
              // Do something here (submit the form or whatever)
          });
          return theImage;
      };
    

    但我实际上认为 Malvolio 有一个使用 _gaq.push()better solution 可以满足您的需求。

    【讨论】:

    • +1。这是一个绝妙的答案。也许值得将其包装在 try/catch 中,这样如果跟踪代码中的某些内容失败,它仍会返回图像?
    • 我已经使用了 setTimeout 方法,但我不得不说这绝对是绝妙的,而且效果很好。如果它有助于遵循这是我的用法: $(theImage).load(function(){ alert( $(this).attr("src") ); /* 加载的谷歌分析跟踪器图像,重定向 */ 窗口。 location.href = ''; });
    【解决方案2】:

    我见过的大多数实现都通过将重新加载/重定向放在 500ms-1s 的 setTimeout() 中来解决这个问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-08
      • 2015-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多