Google analytics Google analytics\u trackPageview回调

Google analytics Google analytics\u trackPageview回调,google-analytics,Google Analytics,有没有办法定义_trackPageview完成时的回调 我有以下代码来跟踪用户何时登录我的站点,并在之后刷新页面: pageTracker._trackPageview('/login/complete'); location.reload(true); 上述代码的问题在于_trackPageview将图像附加到DOM,并且不能保证在页面刷新之前加载图像。我见过的大多数实现都通过将重载/重定向设置为500ms-1s的setTimeout()来绕过这个问题。覆盖当前的图像()页面中的功能是一种解

有没有办法定义_trackPageview完成时的回调

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

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

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

我见过的大多数实现都通过将重载/重定向设置为500ms-1s的setTimeout()来绕过这个问题。

覆盖当前的
图像()
页面中的功能是一种解决方案:

  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有一个using
\u gaq.push()
,可以满足您的需要。

+1。这是一个极好的答案。也许值得将其包装在一个
try/catch
中,这样,如果跟踪代码中的某些内容失败,它仍然会返回一个图像?我使用了setTimeout方法,但我不得不强调,这绝对是一个绝妙的方法,而且工作起来很有魅力。如果有助于遵循我的用法:$(theImage.load(function(){alert($(this.attr(“src”));/*加载的google analytics tracker图像,重定向*/window.location.href='';});