我已经使用 jQuery 尝试过,但它不起作用。
<script>
$("a").click(function () {
$.post("http://www.example.com/trackol.php", {result: "click"
}, "html");
});
</script>
<a href="http://www.google.com">out</a>
最佳答案
为了获得最佳结果,您应该在方法中改变两点
- 使用
onmousedown
而不是click
- 这样您就可以多花几毫秒来完成跟踪请求,否则浏览器可能根本不会启动与您的跟踪器的连接因为它已经离开了原始页面。缺点是你可能会得到一些误报计数,因为点击用户可能没有完成点击(例如,按住鼠标按钮并将光标从链接上移开)但总的来说,这是你应该愿意做出的牺牲 -考虑到更好的跟踪质量。 - 代替 Ajax 调用 (
$.post('...')
) 使用图像预取器 (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>
关于javascript - 使用 Javascript 和 PHP 跟踪传出链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2077823/