我想统计一个页面上某几个链接的点击率, 而且这几个链接的指向是其他人的网页。
我的做法是在链接click的时候post一个请求到后端记录,但是发现,有时候这个post并没有发到后端来。是不是因为页面跳转太快, post没有发出来?
有办法保证这个post到达后端吗?
event.preventDefault();
你应该用上面的阻止事件,把a标签的默认跳转先阻止掉,发送post请求,然后再用程序。window.location.href = '你的标签要跳转的地址'。这样子保证每次都跳转完成。大概就是下面的样子。
$('a').click(function(){
event.preventDefault();
$.ajax();
window.location.href = $(this).attr('href');
})
建议使用google搜索采用的信息收集方式
通过中间页面来做信息收集和重定向
不建议用异步请求 缺点有
- 右键新标签打开的链接 复制链接地址这类访问将无法统计
- 会忽略鼠标中键以及 ctrl+点击 而直接在当前窗口跳转
- 前一个链接尚未跳转 而点了另链接的情况下 会跳转至最先返回统计callback的那个(和正常链接体验不一致)