【问题标题】:Tracking outbound links using ajax (javascript)使用 ajax (javascript) 跟踪出站链接
【发布时间】:2013-06-27 16:23:42
【问题描述】:

我对这个答案有疑问https://stackoverflow.com/a/2078233/560972

据我了解,使用 JS (Ajax) 跟踪传出链接点击的最常见问题是,有时用户会在(更快)脚本获取数据之前离开页面...?

所以也许可以强制某种延迟以让脚本完成录制,然后让用户导航到其他站点?延迟点击链接并发生导航离开

这会有帮助吗?我想 ~200ms/300ms 对用户来说是不可见的,但对于 ajax 调用来说就足够了吗?

你怎么看?

谢谢!

【问题讨论】:

    标签: php javascript ajax


    【解决方案1】:

    使用 jquery:

    $('a').click(function(e) {
       //check that it is offsite
       if($(this).attr("href").indexOf("http")==1) {
          //prevent the redirect;
          e.preventDefault();
          //do your tracking 
          $.ajax{
              url: 'yourtracking.php',
              data: "link=" + $(this).attr("href"),
              complete: function(){
                  //now do the redirect
                  window.location = $(this).attr("href");
              }
    
         }
      }
    });
    

    【讨论】:

    • 这里的答案stackoverflow.com/a/2078233/560972 都使用 jquery 是有原因的。如果没有 jquery,这并非易事。
    • 对于我的情况 - 有区别。谢谢
    • 另外这只是标准的链接跟踪,但是强制延迟和丢失一些点击的问题呢?
    • e.preventDefault();防止链接点击做任何事情。 $.ajax 的 complete 选项是一个回调,只有在 ajax 请求完成后才会执行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多