1

我有一个跟踪像素,我需要在 JS 中加载,只需单击一个按钮。所以过程如下:

  1. 用户点击链接
  2. 我阻止点击(e.preventDefault)
  3. 加载跟踪像素
  4. 重定向用户

这是代码:

$('.btn-cta').on('click', function (e) {
   e.preventDefault();
   $('body').append('<img width="1" height="1" src="http://main.exoclick.com/tag.php?goal=xyz">');
   window.location.replace($(this).attr('href'));
});

我的问题是,不是 100% 的点击者被跟踪,似乎大约 40/50% 的人没有被跟踪。我没有看到另一种方法来做到这一点,你有更好的主意在 JS 中跟踪这种事情吗?

欢迎所有想法。

约翰

4

1 回答 1

4

等待图像加载,然后重定向。

$('.btn-cta').on('click', function (e) {
   e.preventDefault();

    var url = $(this).attr('href');
    var track = new Image();
    track.onload = function(){
        window.location.replace( url );
    };
    // in case the tracking server is down or misconfigured (see comments)
    // otherwise the navigation would be broken.
    track.onerror = function(){
        window.location.replace( url );
    };
    track.src = 'http://main.exoclick.com/tag.php?goal=xyz';
});
于 2015-07-09T09:46:51.303 回答