Javascript Jquery单击跟踪鼠标向下vs单击
我需要跟踪我们网站目录中的出站点击,并希望这样做,以便实际url位于href中。比如:Javascript Jquery单击跟踪鼠标向下vs单击,javascript,jquery,ajax,click-tracking,Javascript,Jquery,Ajax,Click Tracking,我需要跟踪我们网站目录中的出站点击,并希望这样做,以便实际url位于href中。比如: <a href="http://www.example.com" id="a24" class="link" >Go to Example</a> $('a.link').click( function(e){ // Prevent the browser from running away e.preventDefault(); // I've change
<a href="http://www.example.com" id="a24" class="link" >Go to Example</a>
$('a.link').click( function(e){
// Prevent the browser from running away
e.preventDefault();
// I've changed this to POST to make it a bit more secure
// You can access the link ID with $_POST['link_id'] now
$.post('/tiger/sal/clicks/click.php', { link_id: $(this).attr('id') });
// Wave goodbye
window.location.href = $(this).attr('href');
});
在浏览器引导之前,您没有给jQuery足够的时间来计算所有内容。你为什么不试试这样的方法呢:
<a href="http://www.example.com" id="a24" class="link" >Go to Example</a>
$('a.link').click( function(e){
// Prevent the browser from running away
e.preventDefault();
// I've changed this to POST to make it a bit more secure
// You can access the link ID with $_POST['link_id'] now
$.post('/tiger/sal/clicks/click.php', { link_id: $(this).attr('id') });
// Wave goodbye
window.location.href = $(this).attr('href');
});
我不明白为什么它不起作用 当我测试它时,它可以工作,但url端点需要在AJAX调用中修复:
$(function(){
$('a.link').click( function(e){
var my_id = $(this).attr('id');
var href = $(this).attr('href');
$.ajax({
type: "GET",
url: "/tiger/sal/clicks/click.php?id=" + my_id,
success: function(d){
// allow it to successfully call the server before redirecting.
window.location = href;
}
});
return false;
});
});
我不会在“mousedown”中这样做,因为这并不能保证用户确实点击了链接。谢谢,但即使mousedown和click.php需要10秒才能完成(我在click.php文件中包括sleep(10)),它也能工作。因此,它会立即将用户发送到站点,大约10秒后,点击记录会输入到表中。这就是我想要它做的,我想我只是想知道为什么它与mousedown而不是click一起工作,以及我是否正在做任何可能导致clicktracking出现问题的事情。好的。我已经编辑了我的答案。您希望使用jQuery发送一个
$.post()
请求——这将把请求发送到服务器,而不是等到请求完成后再将用户发送到链接目标。这会将所有必要的信息发送到要处理的脚本,而不需要用户等待脚本完成。另外,我会尽量避免使用sleep()
,因为这对UI不太好。非常感谢,我现在需要离开,但我会尽快测试。另外,我只是把睡眠放在那里,看看如果服务器真的很慢会发生什么,以及它是否会减慢人们到达目标url的速度。所以我会在制作中删除它。非常感谢,但不知怎么的,这并没有为我执行脚本。它重定向用户,但不会像使用mousedown时那样将记录添加到表中,而不会成功。