使用Javascript和PHP跟踪传出链接

ilh*_*han 1 javascript php jquery click

我已经尝试使用jQuery,但它无法正常工作.

<script>
    $("a").click(function () { 
      $.post("http://www.example.com/trackol.php", {result: "click"
  }, "html");
    });
</script>
<a href="http://www.google.com">out</a>
Run Code Online (Sandbox Code Playgroud)

And*_*ris 7

为了获得最佳效果,您应该改变方法中的两件事

  1. 使用onmousedown而不是click- 通过这种方式,您可以获得几分钟的额外时间来完成跟踪请求,否则浏览器可能根本无法启动与跟踪器的连接,因为它已经离开原始页面.缺点是你可能得到一些假阳性计数,因为点击用户可能没有完成点击(例如,保持鼠标按钮并将光标移离链接)但总的来说这是你应该愿意牺牲的 - 考虑到更好的跟踪质量.
  2. 而不是Ajax call($.post('...'))使用图像pre-fetcher(new Image().src='...').在这种情况下跟踪器不是图像的事实是不相关的,因为您不想使用生成的"图像",您只是想向服务器发出请求.Ajax调用是双向连接,因此如果浏览器已经导航,但是它需要更多的时间并且可能会失败但是图像预取器只是将请求发送到服务器而且如果你得到了回复或者它并不重要不.

所以解决方案是这样的:

<script>
$(document).ready(function() {
    $("a").mousedown(function (){
        new Image().src= "http://www.example.com/trackol.php?result=click";
    });
});
</script>

<a href="http://www.google.com">out</a>
Run Code Online (Sandbox Code Playgroud)